如何查看MySQL中给定用户的授权(访问权限)?
答案 0 :(得分:34)
最新版MySQL的另一种方法是:
select * from information_schema.user_privileges where grantee like "'user'%";
此格式的可能优势是可以更灵活地检查来自任何主机的“用户”授权(假设用户名一致)或检查具有其他条件的特定权限(例如,privilege_type ='delete')。
此版本可能更适合在脚本中使用,而“show grants”语法更适合交互式会话(更“人类可读”)。
答案 1 :(得分:27)
mysql> show grants for 'user'@'host'
答案 2 :(得分:6)
你可以试试这个:
SELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges;
SELECT User,Host,Db FROM mysql.db;
答案 3 :(得分:5)
您可能希望查看来自Maatkit的mk-show-grants,它将以规范形式输出所有用户的当前授权集,使版本控制或复制更加直接。
答案 4 :(得分:1)
如果您已经使用PHP运行Web服务器,那么phpMyAdmin是一个相当友好的管理工具。
答案 5 :(得分:1)
SHOW GRANTS [FOR user]
此语句以GRANT语句的形式显示分配给MySQL用户帐户的特权,必须执行该语句才能复制特权分配。
要显示授予当前用户(用于连接服务器的帐户)的特权,可以使用以下任何语句:
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();
注释:
SHOW GRANTS需要mysql系统数据库的SELECT特权,除了显示当前用户的特权。\
直接来自官方网站