mysqldump --routines 不包括创建文件中的例程

mysqldump --routines not including routines in created file

我想创建我的数据库的完整备份 (MySQL),我正在使用命令:

mysqldump --routines -u dev_user -pblabla MyDB > d:\DB_Backups\%date%.sql

(这是在带有简单 .bat 脚本的 Windows 机器上)。

所有的悲伤,我意识到所有的例程都停止包含在创建的文件中。

有没有办法创建一个完整备份,然后可以用来创建一个包含数据库全部内容的新数据库(在生产中)?

提前致谢。

对于我的 windows mysql 5.6.24 安装,我会使用 -R 开关,例如

mysqldump -u root -p -R so_gibberish > c:\nate\out123.sql

注意,-p 提示输入密码,数据库名称为 so_gibberish。

输出文件将包含表、过程和函数:

顺便说一句,请参阅 Restrictions on Views 上的 Mysql 手册页。此外,堆栈中的这些很好的答案:

  1. The role of the Definer 艾芬豪

  2. Various topics plus updated comments 罗兰多

虽然以上可能无法立即解决您的问题,但我仍在寻找,并可能会帮助其他人。

我遇到了同样的问题,并且缺少 mysql.proc table 上与 mysqldump 一起使用的用户的权限 SELECT。 根据the documentation:

Include stored routines (procedures and functions) for the dumped databases in the output. This option requires the SELECT privilege for the mysql.proc table.