如何使用MySQL查看存储过程文本?

如何使用MySQL查看存储过程文本?,mysql,Mysql,我无法在名为master_db的模式中查看存储过程的文本 这将在“创建过程”列中返回NULL: 这将显示除master_db之外的所有架构的过程文本,其中它始终为空: select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_DEFINITION from INFORMATION_SCHEMA.ROUTINES; 我已授予master_db的所有特权。* 我有权选择访问mysql.proc表 如何查看我的\u proc\u name

我无法在名为master_db的模式中查看存储过程的文本

这将在“创建过程”列中返回NULL:

这将显示除master_db之外的所有架构的过程文本,其中它始终为空:

select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_DEFINITION 
from INFORMATION_SCHEMA.ROUTINES;
我已
授予master_db的所有特权。*

我有权
选择
访问mysql.proc表


如何查看我的\u proc\u name的文本?

mysql中的master\u db是什么?show create procedure返回其他字段。对于
创建过程
,它返回NULL。文档中说,如果我没有使用该过程的权限,则会发生这种情况,但我假定“授予所有”都包括此类权限。@Anil-不确定master\u db是否在某种程度上是特殊的,可能只是一个架构名称。我想您的过程master\u db是由另一个用户定义的,尝试使用
DEFINER
root
用户执行
show create procedure…
,您可以使用当前用户帐户重新创建该过程,然后可以查看其主体@Yu Jiao-您的解释是正确的(尽管proc的安全类型是“INVOKER”)。非常感谢。
select ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_DEFINITION 
from INFORMATION_SCHEMA.ROUTINES;