MySQL 8.0 参考手册 / 第 4 章 MySQL 程序 / 4.5 客户端程序 / 4.5.7 mysqlshow——显示数据库、表和列信息 /
13.7.5.22 SHOW GRANTS 语句
SHOW GRANTS [FOR user]
GRANT
此语句以必须执行以复制权限分配
的语句的形式显示分配给 MySQL 用户帐户
的权限。
SHOW GRANTS
需要系统数据库的
SELECT
权限
mysql
,但显示当前用户的权限除外。对于包含
IDENTIFIED BY PASSWORD
显示帐户密码哈希值的子句的
输出,SUPER
需要权限才能查看实际哈希值。否则,该值显示为
<secret>
。
要为帐户命名SHOW
GRANTS
,请使用与语句相同的格式
GRANT
(例如,
'jeffrey'@'localhost'
):
mysql> SHOW GRANTS FOR 'jeffrey'@'localhost';
+------------------------------------------------------------------+
| Grants for jeffrey@localhost |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `jeffrey`@`localhost` |
| GRANT SELECT, INSERT, UPDATE ON `db1`.* TO `jeffrey`@`localhost` |
+------------------------------------------------------------------+
主机部分,如果省略,默认为'%'
. 有关指定帐户名称的其他信息,请参阅
第 6.2.4 节,“指定帐户名称”。
要显示授予当前用户(您用于连接服务器的帐户)的权限,您可以使用以下任何语句:
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();
如果SHOW GRANTS FOR CURRENT_USER
(或任何等效语法)在定义者上下文中使用,例如在使用定义者而不是调用者特权执行的存储过程中,则显示的授权是定义者而非调用者的授权。
SHOW GRANTS
不显示指定帐户可用但授予其他帐户的权限。例如,如果存在匿名帐户,则指定帐户可能能够使用其权限,但SHOW GRANTS
不会显示它们。