MySQL - mysqldump - 例程只导出1个存储过程(按名称)而不是每个例程

Joe*_*ein 7 mysql mysqldump

所以我们有很多从出口中产生的例程.我们经常需要在CLI中进行这些操作,进行更改并将其重新导入.是的,其中一些由不同的人管理,需要更好的更改控制,但目前情况就是如此.

如果我做:

mysqldump --routines --no-create-info --no-data --no-create-db
Run Code Online (Sandbox Code Playgroud)

那很棒,我有200个功能.我需要通过一个文件找到我想要的那个或一组.

有没有我想要的mysqldump例程,就像表格一样?

小智 13

另一种解决方法是:但请注意,您必须在目标数据库中具有root权限才能将行导入mysql.proc:

mysqldump --compact --no-create-info --where="db='yourdatabasename' AND type='PROCEDURE' AND name IN ('yoursp1', 'yoursp2')" --databases mysql --tables proc
Run Code Online (Sandbox Code Playgroud)


Ike*_*ker 6

回答您的确切问题:不。

但这可能会给你你想要的。

看看SHOW CREATE PROCEDURESHOW CREATE FUNCTION

http://dev.mysql.com/doc/refman/5.0/en/show-create-procedure.html

http://dev.mysql.com/doc/refman/5.0/en/show-create-function.html

这些命令允许您一次转储一个例程的代码。