首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用触发器和过程导出MySQL数据库?

如何使用触发器和过程导出MySQL数据库?
EN

Stack Overflow用户
提问于 2011-02-22 15:18:34
回答 3查看 111K关注 0票数 98

如何创建一个包含所有触发器和过程的MySQL数据库转储(.sql文件)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-22 15:21:03

默认情况下,mysqldump将备份所有触发器,但不会备份存储过程/函数。有两个mysqldump参数可以控制此行为:

default

  • --triggers
  • --routines - FALSE -默认情况下为TRUE

因此,在mysqldump命令中添加--routines,如下所示:

代码语言:javascript
复制
mysqldump <other mysqldump options> --routines > outputfile.sql

请参阅MySQL documentation about mysqldump arguments

票数 147
EN

Stack Overflow用户

发布于 2014-10-28 02:11:54

对于MYSQL的专业用户来说,这可能是显而易见的,但我浪费了一些时间来试图弄清楚默认值不会导出函数。所以我想在这里提到,需要将--routines param设置为true才能使其工作。

代码语言:javascript
复制
mysqldump --routines=true -u <user> my_database > my_database.sql
票数 25
EN

Stack Overflow用户

发布于 2016-07-30 21:28:51

我已经创建了以下脚本,它对我来说工作得很好。

代码语言:javascript
复制
#! /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*

然后使用命令行参数调用脚本。

代码语言:javascript
复制
backupdb.sh my_db dev_user dev_password
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5075198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档