使用root用戶登錄MySQL命令行(需輸入root密碼):
mysql -u root -p
通過CREATE USER語句創建用戶,格式為'用戶名'@'主機'(localhost僅本地連接,%允許遠程連接):
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';
-- 允許遠程連接的示例
CREATE USER 'newuser'@'%' IDENTIFIED BY 'your_password';
使用GRANT語句為用戶分配權限,常見場景如下:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';
GRANT SELECT, INSERT, UPDATE ON mydatabase.mytable TO 'newuser'@'localhost';
執行FLUSH PRIVILEGES使權限變更立即生效:
FLUSH PRIVILEGES;
使用SHOW GRANTS語句查看用戶的權限詳情:
SHOW GRANTS FOR 'newuser'@'localhost';
-- 查看當前登錄用戶的權限
SHOW GRANTS;
使用REVOKE語句撤銷用戶的特定權限(格式與GRANT相反):
REVOKE SELECT ON mydatabase.* FROM 'newuser'@'localhost';
-- 撤銷所有權限
REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'newuser'@'localhost';
使用DROP USER語句刪除用戶(會同時刪除其所有權限):
DROP USER 'newuser'@'localhost';
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
sudo setsebool -P mysql_connect_any 1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_root_password';
SELECT、INSERT權限,無需DROP權限)。host為具體IP地址(如192.168.1.100),而非%,以提高安全性。SHOW GRANTS檢查用戶權限,避免權限泄露。