首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 用戶管理完整指南:建立、刪除與權限設定

     編輯:MySQL 綜合教學

MySQL 用戶管理完整指南:建立、刪除與權限設定

在 MySQL 資料庫管理中,用戶帳號與權限控制是基礎且關鍵的環節。本文系統整理了建立用戶、授予權限、刷新權限、刪除用戶以及修改密碼的核心操作指令,幫助您快速掌握 MySQL 權限體系的實戰技巧。

一、建立用戶

透過直接操作 mysql.user 系統表可快速建立用戶:

INSERT INTO mysql.user (Host, User, Password) 
VALUES ('localhost', 'test', PASSWORD('1234'));

上述指令建立了一個用戶名為 test、密碼為 1234 的帳號,預設僅允許本地登入。若需開放遠端連線,可將 Host 值修改為 %(允許任意 IP)或指定特定 IP 地址:

  • %:允許所有主機連線
  • 192.168.1.100:僅允許特定 IP 連線

二、授予權限

使用 GRANT 指令為用戶分配資料庫操作權限:

GRANT ALL PRIVILEGES ON testDB.* TO 'test'@'localhost' IDENTIFIED BY '1234';

此指令授予 test 用戶在本地登入時,對 testDB 資料庫所有資料表的完整操作權限。權限粒度可彈性調整:

  • 權限類型:將 ALL PRIVILEGES 替換為 SELECT、INSERT、UPDATE、DELETE 或其組合
  • 資料表範圍:將 testDB.* 改為 testDB.info 限定特定資料表
  • 連線來源:將 @'localhost' 改為 @'%' 允許遠端存取

三、刷新權限

權限變更後必須執行 FLUSH PRIVILEGES; 使其立即生效,否則修改僅停留在記憶體中,重啟服務後才會載入。

四、刪除用戶

提供兩種刪除方式,視需求選擇:

-- 僅刪除用戶記錄
DELETE FROM mysql.user WHERE User='test' AND Host='localhost';

-- 徹底移除用戶及其權限(推薦)
DROP USER 'test'@'%';

DROP USER 會同步清理權限表,較為乾淨安全。

五、修改密碼

UPDATE mysql.user SET Password=PASSWORD('新密碼') 
WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES;

注意:MySQL 5.7+ 版本中 Password 欄位已改為 authentication_string,實際操作時請根據版本調整欄位名稱。

最佳實踐建議

  1. 遵循最小權限原則,僅授予業務必需的權限
  2. 生產環境禁用 root 遠端登入,建立專用應用帳號
  3. 定期審計用戶權限,移除不再使用的帳號
  4. 使用強密碼策略,定期輪換敏感帳號密碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved