查詢 MySQL 對 此帳號 開放(GRANT)哪些權限

要知道這個帳號有開哪些權限, 直接看 MySQL 的 user table 並不一定正確, 要使用 MySQL 本身支援的 SHOW 才對.

查詢 某 User 的權限

  1. SELECT User,Host FROM mysql.user; # 秀出系統現在有哪些 user
  2. SHOW GRANTS FOR username@localhost; # 會秀出開此 username 時下的 Grant 語法, 也可用此來做帳號備份.
    • 結果: GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'username'@'localhost' IDENTIFIED BY PASSWORD '$PASSWORD'
  3. SHOW GRANTS FOR root@localhost; # 會秀出開此 User 時下的 Grant 語法, 也可用此來做帳號備份.
    • 結果: GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '$PASSWORD' WITH GRANT OPTION

下述這些結果都一樣, 都是列出 目前此User 的權限.

  • SHOW GRANTS;
  • SHOW GRANTS FOR CURRENT_USER;
  • SHOW GRANTS FOR CURRENT_USER();

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料