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

时间:2016-06-03 18:54:01

标签: mysql mysqldump

我想创建一个我的数据库(MySQL)的完整备份,并且我使用命令:

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

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

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

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

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

enter image description here

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

    ivanhoe的
  1. The role of the Definer

  2. Rolando
  3. Various topics plus updated comments

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

答案 1 :(得分:0)

我遇到了同样的问题,并且在SELECT表上缺少与mysql.proc一起使用的用户的特权mysqldump。 根据{{​​3}}:

  

在输出中包括用于转储数据库的存储例程(过程和函数)。此选项需要mysql.proc表的SELECT特权。