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

Mysql 如何显示其他用户的创建过程?,mysql,stored-procedures,Mysql,Stored Procedures,通过执行以下操作,我可以获得程序列表: show procedure status where Db='test1'; show create procedure sampleProcedure1; 通常,我们可以通过执行以下命令获得CREATE语法: show procedure status where Db='test1'; show create procedure sampleProcedure1; 但是创建过程显示为空。是否有任何解决方法可以从MySQL获取过程的原始CREA

通过执行以下操作,我可以获得程序列表:

show procedure status where Db='test1';
show create procedure sampleProcedure1;
通常,我们可以通过执行以下命令获得
CREATE
语法:

show procedure status where Db='test1';
show create procedure sampleProcedure1;
但是
创建过程
显示为空。是否有任何解决方法可以从MySQL获取过程的原始
CREATE

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

因此,解决方案是让用户
SELECT
访问
mysql.proc

GRANT SELECT on mysql.proc TO 'user'@'hostname'
用适当的值替换
user
hostname

来自MySQL:

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

因此,解决方案是让用户
SELECT
访问
mysql.proc

GRANT SELECT on mysql.proc TO 'user'@'hostname'
用适当的值替换
用户
主机名