Answers:
下面是MySQL文档为SHOW GRANTS
:
SHOW GRANTS [FOR user]
该语句列出了必须发出的GRANT语句,以复制授予MySQL用户帐户的特权。该帐户使用与GRANT语句相同的格式命名。例如,“ jeffrey” @“ localhost”。如果仅指定帐户名的用户名部分,则使用主机名部分“%”。有关指定帐户名的更多信息,请参见第12.5.1.3节“ GRANT语法”。
mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
要列出授予您用于连接服务器的帐户的特权,可以使用以下任何语句:
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();
从MySQL 5.0.24开始,如果在DEFINER上下文中使用SHOW GRANTS FOR CURRENT_USER(或任何等效语法),例如在用SQL SECURITY DEFINER定义的存储过程中),则显示的授权是定义程序的授权。不是调用者。
SHOW GRANTS仅显示显式授予命名帐户的特权。该帐户可能还可以使用其他特权,但是不会显示。例如,如果存在一个匿名帐户,则该命名帐户可能能够使用其特权,但是SHOW GRANTS不会显示它们。
SHOW GRANTS需要mysql数据库的SELECT特权。
SHOW GRANTS requires the SELECT privilege for the mysql system database, except to display privileges and roles for the current user.