要知道這個帳號有開哪些權限, 直接看 MySQL 的 user table 並不一定正確, 要使用 MySQL 本身支援的 SHOW 才對.
查詢 某 User 的權限
- SELECT User,Host FROM mysql.user; # 秀出系統現在有哪些 user
- SHOW GRANTS FOR username@localhost; # 會秀出開此 username 時下的 Grant 語法, 也可用此來做帳號備份.
- 結果: GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'username'@'localhost' IDENTIFIED BY PASSWORD '$PASSWORD'
- 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();