在MySQL中查看授权

ala*_*10n 34 mysql

如何查看MySQL中给定用户的授权(访问权限)?

小智 34

最新版MySQL的另一种方法是:

select * from information_schema.user_privileges where grantee like "'user'%";
Run Code Online (Sandbox Code Playgroud)

这种格式的可能优势是增加了从任何主机检查"用户"授权的灵活性(假设用户名一致)或检查具有附加条件的特定权限(例如,privilege_type ='delete').

此版本可能更适合在脚本中使用,而"show grants"语法更适合交互式会话(更"人类可读").

  • 不要忘记其他授权相关表SCHEMA_PRIVILEGES,TABLE_PRIVILEGES甚至COLUMN_PRIVILEGES (4认同)

ala*_*10n 27

mysql> show grants for 'user'@'host'
Run Code Online (Sandbox Code Playgroud)


Ani*_*ita 6

你可以试试这个:

SELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges;
SELECT User,Host,Db FROM mysql.db;
Run Code Online (Sandbox Code Playgroud)


Jon*_*per 5

您可能希望查看来自Maatkit的 mk-show-grants ,它将以规范形式输出所有用户的当前授权集,使版本控制或复制更加直接.