如何显示其他用户的创建过程?

时间:2018-01-12 01:39:47

标签: mysql stored-procedures

我可以通过执行以下命令获取程序列表:

show procedure status where Db='test1';

通常,我们可以通过执行以下命令获得CREATE语法:

show create procedure sampleProcedure1;

但是CREATE Procedure显示为空。是否有任何解决方法来获取该过程的原始CREATE

1 个答案:

答案 0 :(得分:2)

来自MySQL documentation

  

要使用任一语句,您必须是例程DEFINER子句中指定的用户或SELECT mysql.proc表的Create Procedure访问权限。如果您没有例程本身的权限,则Create FunctionNULL字段显示的值将为SELECT

因此解决方案是让用户mysql.proc访问GRANT SELECT on mysql.proc TO 'user'@'hostname'

user

hostname和{{1}}替换为适当的值。