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

问题描述 投票:0回答:2

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

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

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

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

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

提前致谢。

mysql mysqldump
2个回答
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手册页。此外,这些精美的答案在堆栈上:

  1. ivanhoe的The role of the Definer
  2. 罗兰多的Various topics plus updated comments

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


0
投票

我遇到了同样的问题,并且在SELECT表上错过了与mysql.proc一起使用的用户的mysqldump权限。据the documentation说:

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

© www.soinside.com 2019 - 2024. All rights reserved.