Hai*_*vgi 108
mysqldump将备份默认情况下所有的触发器,但不是在存储过程/函数.有2个mysqldump参数可以控制此行为:
--routines - 默认为FALSE--triggers - 默认为TRUE所以在mysqldump命令中,添加--routines如下:
mysqldump <other mysqldump options> --routines > outputfile.sql
Run Code Online (Sandbox Code Playgroud)
在本文中阅读更多内容
Usm*_*man 19
对于MYSQL的专家用户来说可能是显而易见的,但是我试图找出默认值不会导出函数时浪费了一些时间.所以我想在这里提一下--routines param需要设置为true才能使它工作.
mysqldump --routines=true -u <user> my_database > my_database.sql
Run Code Online (Sandbox Code Playgroud)
我创建了以下脚本,它对我来说很好。
#! /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*
Run Code Online (Sandbox Code Playgroud)
然后使用命令行参数调用脚本。
backupdb.sh my_db dev_user dev_password
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82778 次 |
| 最近记录: |