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

MySQL 權限查看指南:SHOW GRANTS 秒懂 vs 權限表層層遞歸(5.0 前 vs 5.0 後)

     編輯:MySQL 資料庫相關知識

最簡單方法


SHOW GRANTS FOR 'user'@'host';
-- 例:SHOW GRANTS FOR 'test1'@'localhost';

權限表層級遞歸邏輯(5.0 前)

權限範圍由大到小:user → db → tables_priv → columns_priv。全域權限覆蓋局部。

  1. 查 user 表:如 Select_priv='Y' → 擁有所有庫所有表 SELECT,後續層級無意義。
  2. user 為 N → 查 db 表:特定庫權限。
  3. db 無記錄或為 N → 查 tables_priv:特定表權限。
  4. tables_priv 為 N → 查 columns_priv:特定欄位權限。

MySQL 5.0+ 新架構

  • 引入 information_schema 資料字典庫。
  • 四張視圖對應四層:USER_PRIVILEGES、SCHEMA_PRIVILEGES、TABLE_PRIVILEGES、COLUMN_PRIVILEGES。
  • 邏輯相同,查詢更規範、可 JOIN。

實務建議

  • 日常排查:**永遠優先用 SHOW GRANTS**,秒級得到結果。
  • 審計/自動化:查詢 information_schema 視圖生成報表。
  • 權限變更後記得 FLUSH PRIVILEGES(或 mysqladmin reload)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved