如何在MySQL中备份存储过程

如何在MySQL中备份存储过程,mysql,stored-procedures,backup,Mysql,Stored Procedures,Backup,我在MySQL5.0中使用了mysqldump,我每天都备份它,但不了解只有存储过程备份的方法 如何备份它?我不确定您是要求备份存储过程以及其他所有内容,还是仅备份存储过程本身 转储中的存储过程与其他所有内容: mysqldump -R <dbname> #or mysqldump --routines <dbname> mysqldump-R#或 mysqldump——例程 仅存储过程: mysqldump -n -t -d -R <dbname> #o

我在MySQL5.0中使用了
mysqldump
,我每天都备份它,但不了解只有存储过程备份的方法


如何备份它?

我不确定您是要求备份存储过程以及其他所有内容,还是仅备份存储过程本身

转储中的存储过程与其他所有内容:

mysqldump -R <dbname> #or
mysqldump --routines <dbname>
mysqldump-R#或
mysqldump——例程
仅存储过程:

mysqldump -n -t -d -R <dbname> #or
mysqldump --no-create-db --no-create-info --no-data --routines <dbname>
mysqldump-n-t-d-R#或
mysqldump--无创建数据库--无创建信息--无数据--例程
这有帮助吗?

mysqldump-u dbusername(例如:-uroot)-ppassword(例如:-pmysql@dbpas)--例行程序
mysqldump - u dbusername (ex: -uroot) -ppassword (ex:-pmysql@dbpas) --routines <dbname>

使用用户名和密码可能会更有帮助。

您也可以将
routines=true
放在
[mysqldump]
部分的
my.cnf
文件中(您可能需要添加此部分,因为它通常不存在于原始
my.cnf
文件中),以将例程包含在正常转储中。

在mysqldump版本的mysqldump中(mysqldump Ver 10.13发行版5.1.69,对于debian linux gnu(x86_64)),至少应该是-R,而不是-R。从文档:-R,-routines转储存储例程(函数和过程)。-R,--result file=name直接输出到给定文件。此选项应该在MSDOS中使用,因为它防止新行“\n”转换为“\R\n”(回车+换行)。@davej很好的观点-我想我不知怎么错过了。(我想我已经测试过了,但我想没有…)谢谢你的留言。