ITPub博客

首页 > 数据库 > MySQL > mysql的分库备份

mysql的分库备份

原创 MySQL 作者:czxin788 时间:2016-04-30 21:33:58 0 删除 编辑
mysql的分库备份
分库备份实际上就是执行一个备份语句(mysqldump)备份一个库,如果数据库里面有多个库,就执行多条相同的备份单个库的备份语句进行备份,注意每个库都可以用对应的备份的库做为库名,结尾加.sql.

我写了如下的一个脚本进行分库备份:

[root@Mysql01 mysqldumpbak]# cat /usr/local/script/mysqldump.sh 
#!/bin/bash
cd /opt/db_backup/db_backup/mysql_bak/
rq=`date +%F`
mkdir $rq
cd $rq
echo '开始备份时间:' `date` >> backup.log
#由于本脚本备份是采用了gizp压缩备份,所以加压时可以用gzip xxx.sql.gz进行解压
mysql -udbbackup_user -p'xxxx'   -e "show databases" |grep -Evi "database|perfor|infor" |sed -r 's/^([a-z].*$)/mysqldump -udbbackup_user -p'xxx'  --routines --triggers --events --single-transaction --master-data=2  --log-error=backup.err  -B  \1|gzip > \1.sql.gz/g' |bash
echo '结束备份时间:' `date` >> backup.log



测试:
[root@Mysql01 mysqldumpbak]#sh  /usr/local/script/mysqldump.sh 
执行该脚本后,会生产如下sql语句,并自动执行如下sql进行备份
/home/mysql/mysql/bin/mysqldump -udbbackup_user -pxx --routines --triggers --events --single-transaction --master-data=2  --log-error=backup.err  -B  app|gzip > app.sql.gz
/home/mysql/mysql/bin/mysqldump -udbbackup_user -pxx --routines --triggers --events --single-transaction --master-data=2  --log-error=backup.err  -B  ad|gzip > auod.sql.gz
/home/mysql/mysql/bin/mysqldump -udbbackup_user -pxx  --routines --triggers --events --single-transaction --master-data=2  --log-error=backup.err  -B  ad_moerben|gzip > auod_moerben.sql.gz
/home/mysql/mysql/bin/mysqldump -udbbackup_user -pxx  --routines --triggers --events --single-transaction --master-data=2  --log-error=backup.err  -B  ccms|gzip > cz_bj_cms.sql.gz
/home/mysql/mysql/bin/mysqldump -udbbackup_user -pxx  --routines --triggers --events --single-transaction --master-data=2  --log-error=backup.err  -B  cs|gzip > cz_bj_oms.sql.gz

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28916011/viewspace-2091324/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 乐视mysql面试题
请登录后发表评论 登录
全部评论

注册时间:2014-06-03

  • 博文量
    233
  • 访问量
    858415