如何创建一个包含所有触发器和过程的MySQL数据库转储(.sql文件)?
发布于 2011-02-22 15:21:03
默认情况下,mysqldump将备份所有触发器,但不会备份存储过程/函数。有两个mysqldump参数可以控制此行为:
default
--triggers的--routines - FALSE -默认情况下为TRUE 因此,在mysqldump命令中添加--routines,如下所示:
mysqldump <other mysqldump options> --routines > outputfile.sql发布于 2014-10-28 02:11:54
对于MYSQL的专业用户来说,这可能是显而易见的,但我浪费了一些时间来试图弄清楚默认值不会导出函数。所以我想在这里提到,需要将--routines param设置为true才能使其工作。
mysqldump --routines=true -u <user> my_database > my_database.sql发布于 2016-07-30 21:28:51
我已经创建了以下脚本,它对我来说工作得很好。
#! /bin/sh
cd $(dirname $0)
DB=$1
DBUSER=$2
DBPASSWD=$3
FILE=$DB-$(date +%F).sql
mysqldump --routines "--user=${DBUSER}" --password=$DBPASSWD $DB > $PWD/$FILE
gzip $FILE
echo Created $PWD/$FILE*然后使用命令行参数调用脚本。
backupdb.sh my_db dev_user dev_passwordhttps://stackoverflow.com/questions/5075198
复制相似问题