【问题标题】:How to view only procedure related grants in MySQL?如何在 MySQL 中仅查看与过程相关的授权?
【发布时间】:2016-03-28 07:32:49
【问题描述】:

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

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

以下命令提供所有授权,包括选择、更新等:

SHOW GRANTS FOR 'root'@'localhost';

【问题讨论】:

  • 我认为你做不到。

标签: mysql sql select privileges grant


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    Reference

    【讨论】:

      【解决方案3】:

      试试这个:

      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);
      

      【讨论】:

      • 这可行,但我认为也有一些方法可以使用 GRANT 关键字。
      猜你喜欢
      • 1970-01-01
      • 2016-08-04
      • 2015-04-05
      • 2011-03-07
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      相关资源
      最近更新 更多