溫馨提示×

CentOS MySQL權限設置怎么操作

小樊
39
2025-10-21 18:10:27
欄目: 云計算

CentOS系統下MySQL權限設置操作指南

1. 登錄MySQL服務器

使用root用戶登錄MySQL命令行(需輸入root密碼):

mysql -u root -p

2. 創建新用戶

通過CREATE USER語句創建用戶,格式為'用戶名'@'主機'localhost僅本地連接,%允許遠程連接):

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';
-- 允許遠程連接的示例
CREATE USER 'newuser'@'%' IDENTIFIED BY 'your_password';

3. 授予權限

使用GRANT語句為用戶分配權限,常見場景如下:

  • 授予所有數據庫的所有權限(謹慎使用):
    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
    
  • 授予特定數據庫的所有權限
    GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';
    
  • 授予特定表的特定權限(如SELECT、INSERT、UPDATE):
    GRANT SELECT, INSERT, UPDATE ON mydatabase.mytable TO 'newuser'@'localhost';
    
  • WITH GRANT OPTION:允許用戶將自己擁有的權限授予其他用戶(僅root或管理員用戶需要)。

4. 刷新權限

執行FLUSH PRIVILEGES使權限變更立即生效:

FLUSH PRIVILEGES;

5. 查看用戶權限

使用SHOW GRANTS語句查看用戶的權限詳情:

SHOW GRANTS FOR 'newuser'@'localhost';
-- 查看當前登錄用戶的權限
SHOW GRANTS;

6. 撤銷權限

使用REVOKE語句撤銷用戶的特定權限(格式與GRANT相反):

REVOKE SELECT ON mydatabase.* FROM 'newuser'@'localhost';
-- 撤銷所有權限
REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'newuser'@'localhost';

7. 刪除用戶

使用DROP USER語句刪除用戶(會同時刪除其所有權限):

DROP USER 'newuser'@'localhost';

8. 可選:配置遠程訪問與安全

  • 開放防火墻端口(若需遠程連接):
    sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
    sudo firewall-cmd --reload
    
  • 配置SELinux(若系統啟用SELinux):
    sudo setsebool -P mysql_connect_any 1
    
  • 修改root密碼(初始安裝后建議修改):
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_root_password';
    

注意事項

  • 權限設置需遵循最小權限原則,僅授予用戶完成任務所需的最小權限(如應用用戶僅需SELECT、INSERT權限,無需DROP權限)。
  • 遠程連接時,建議限制host為具體IP地址(如192.168.1.100),而非%,以提高安全性。
  • 定期通過SHOW GRANTS檢查用戶權限,避免權限泄露。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女