| 權限 | 允許操作 |
|---|---|
| ALTER | ALTER TABLE (需配合其他權限) |
| CREATE | CREATE DATABASE/TABLE (不含 INDEX) |
| DELETE | DELETE 記錄 |
| DROP | DROP DATABASE/TABLE (不含 INDEX) |
| INDEX | CREATE/DROP INDEX |
| REFERENCES | 保留 (未來外鍵用) |
| SELECT | SELECT 查詢 (不涉及表的 SELECT 如 NOW() 不需此權限) |
| UPDATE | UPDATE 修改記錄 |
| 權限 | 允許操作 | 風險提示 |
|---|---|---|
| FILE | SELECT ... INTO OUTFILE / LOAD DATA INFILE | 高危,可讀寫伺服器檔案,嚴格限制授予 |
| GRANT | GRANT/REVOKE 授權他人 | 含遞授權限,謹慎給予 |
| PROCESS | SHOW PROCESSLIST / KILL 執行緒 | 可見/殺死所有連線 |
| RELOAD | FLUSH */ mysqladmin reload/refresh/flush-* | 服務管理操作 |
| SHUTDOWN | mysqladmin shutdown | 關閉服務器 |
user:全域權限 (含 FILE/PROCESS/RELOAD/SHUTDOWN 專屬欄位)db:資料庫層級權限host:主機層級權限 (配合 db 使用)tables_priv:表層級權限 (SET 型別:Select,Insert,Update,Delete,Create,Drop,Grant,References,Index,Alter)columns_priv:欄位層級權限 (SET:Select,Insert,Update,References)所有權限欄位型別 ENUM('N','Y'),預設 N。
user 表尋找匹配列 (User、Host、Password)user (全域) + db/host (資料庫) + tables_priv (表) + columns_priv (欄位)localhost (僅匹配 hostname 為 localhost 的連線)% (任意)、_ (單字元) — 同 LIKE 語法%.edu、192.168.%、192.168.3.%% 匹配所有主機% (所有資料庫)_ 單字元通配Server 依序檢查:user → db → host → tables_priv → columns_priv,後者可擴展前者權限,但不受前者限制 (即表級權限可超出資料庫級)。