在MySQL中查看授权

时间:2008-09-24 14:58:56

标签: mysql

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

6 个答案:

答案 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 Statement

SHOW GRANTS [FOR user]

此语句以GRANT语句的形式显示分配给MySQL用户帐户的特权,必须执行该语句才能复制特权分配。

要显示授予当前用户(用于连接服务器的帐户)的特权,可以使用以下任何语句:

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

注释:
SHOW GRANTS需要mysql系统数据库的SELECT特权,除了显示当前用户的特权。\

直接来自官方网站