如何仅查看 MySQL 中与程序相关的授权?

How to view only procedure related grants in MySQL?

我只想在 MySQL 中查看对特定过程的授予权限。 This documentation 显示所有赠款。

有没有办法只查看数据库中特定过程的授权。

下面的命令提供所有授权,包括 select、更新等:

SHOW GRANTS FOR 'root'@'localhost';

使用此命令授予对特定过程的执行权限

GRANT EXECUTE ON PROCEDURE schema_name.proc_name TO 'user_name';

Reference

试试这个:

SELECT *
FROM mysql.procs_priv A
WHERE A.Db = 'DatabaseName' AND A.User = 'root' AND 
      A.host = 'localhost' AND A.Routine_name = 'ProcedureName' AND 
      FIND_IN_SET('Grant', A.proc_priv);

假设您想要创建一个名为 MyFirstProc 的过程,并且您想要授予所有用户执行该过程的能力。您将 运行 以下 GRANT 语句:

GRANT EXECUTE ON PROCEDURE MyFirstProc TO '*'@'localhost';