我想从 MySql 实例检索信息,该实例的用户拥有 SHOW_ROUTINE 权限。
根据文档,此权限只能全局授予。此类权限通常位于
mysql.user
系统表中。
SELECT * FROM mysql.user;
但是,我在该表中没有看到此特权。
其他选项是
mysql.procs_priv
桌子,但这里也没有运气:
SELECT * FROM mysql.procs_priv;
我使用的是MySql v8.0.36。
我想知道SHOW_ROUTINE权限记录在哪里。
SHOW_ROUTINE
是存储在 mysql.global_grants
中的动态权限之一。
我的本地系统 (8.0.39) 上的示例:
mysql> select * from mysql.global_grants where user = 'root' and priv = 'SHOW_ROUTINE';
+------+-----------+--------------+-------------------+
| USER | HOST | PRIV | WITH_GRANT_OPTION |
+------+-----------+--------------+-------------------+
| root | localhost | SHOW_ROUTINE | Y |
+------+-----------+--------------+-------------------+
阅读https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#static-dynamic-privileges了解详细信息。