首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 權限系統完整詳解:三大權限表、27 項權限分類與授權最佳實務

     編輯:MySQL 資料庫相關知識

MySQL 權限系統基於三張核心權限表,採分級授權模型。本文系統梳理權限表架構、27 項具體權限用途、授權語法與安全最佳實務。

一、權限表架構與驗證流程

表名範圍關鍵欄位
user全域Host, User, Password, 全域權限欄位
db資料庫級Host, Db, User, 資料庫權限欄位
host主機級(輔助 db)Host, Db, 權限欄位

驗證與授權順序:

  1. 連線驗證:user 表匹配 Host/User/Password
  2. 權限疊加:user → db → tables_priv → columns_priv
  3. 上層為 Y 則直接生效,不再檢查下層

二、27 項權限完整分類

資料操作類 (DML)

權限允許操作
SELECT查詢
INSERT插入
UPDATE更新
DELETE刪除

結構管理類 (DDL)

權限允許操作
CREATE建立資料庫/表/索引
DROP刪除資料庫/表/視圖/索引
ALTER修改表結構
INDEX建立/刪除索引
CREATE TEMPORARY TABLES建立臨時表
CREATE VIEW建立視圖
SHOW VIEW查看視圖定義
CREATE ROUTINE建立預存程序/函數 (含 EXECUTE, ALTER ROUTINE)
ALTER ROUTINE修改/刪除預存程序/函數
EXECUTE執行預存程序/函數
TRIGGER建立/刪除觸發器 (5.1+)

管理權限類 (需 ON *.*)

權限允許操作風險等級
GRANT OPTION將自身權限授予他人高
RELOADFLUSH TABLES/LOGS/PRIVILEGES中
SHUTDOWNmysqladmin shutdown極高
PROCESSSHOW PROCESSLIST (全量)、KILL中
FILESELECT ... INTO OUTFILE, LOAD DATA INFILE極高
SUPERKill 任意查詢、修改全域變數、CHANGE MASTER, PURGE MASTER LOGS極高
REPLICATION CLIENTSHOW MASTER/SLAVE STATUS中
REPLICATION SLAVE從庫讀取主庫 Binlog高
CREATE USER建立/刪除/重命名用戶高
USAGE僅允許連線 (無實際權限)無
REFERENCES建立外鍵引用 (未完全實現)低

三、授權最佳實務

  1. 最小權限原則:業務帳號僅授予必要 DML 權限
  2. 管理權限隔離:SUPER, FILE, PROCESS, SHUTDOWN 僅限 DBA 專用帳號
  3. 主機限制:避免 'user'@'%',指定具體 IP/子網
  4. 定期審計:SHOW GRANTS FOR 'user'@'host'; 檢查權限漂移
  5. 移除匿名帳號:DROP USER ''@'localhost';
  6. 強密碼策略:啟用 validate_password 元件

四、常用授權範例

-- 唯讀報表帳號
GRANT SELECT ON reporting_db.* TO 'reporter'@'10.0.1.%' IDENTIFIED BY 'strong_pass';

-- 開發帳號 (含建表、臨時表、視圖、程序)
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX,
      CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW,
      CREATE ROUTINE,ALTER ROUTINE,EXECUTE,TRIGGER
      ON dev_db.* TO 'dev'@'10.0.2.%' IDENTIFIED BY 'strong_pass';

-- 複寫帳號
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.0.3.%' IDENTIFIED BY 'strong_pass';

-- 撤銷權限
REVOKE INSERT ON db.* FROM 'user'@'host';

嚴格的權限治理是資料庫安全基石,建議納入變更管理流程,所有授權變更留存審計軌跡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved