您的位置:首页 > 数据库 > MySQL

MySQL备份脚本

2016-01-21 10:14 639 查看
MySQL分库备份脚本 # cat /scripts/mysql_store_backup.sh
#!/bin/bash

MYPASS="123456"
SOCKET=/tmp/mysql.sock
MYLOGIN="mysql -uroot -p$MYPASS -S $SOCKET"
MYDUMP="mysqldump -uroot -p$MYPASS -S $SOCKET -B --single-transaction --all-databases  --flush-logs"
DATABASE="$($MYLOGIN -e "show databases;" |egrep -vi "Data|_schema|mysql")"

for dbname in $DATABASE
do
MYDIR=/backup/$dbname
[ -d $MYDIR ] || mkdir -p $MYDIR
$MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz
done


MySQL分库分表备份脚本 # cat /scripts/mysql_table_backup.sh
#/bin/bash

MYPASS="123456"
SOCKET=/tmp/mysql.sock
MYLOGIN="mysql -uroot -p$MYPASS -S $SOCKET"
MYDUMP="mysqldump -uroot -p$MYPASS -S $SOCKET -B --single-transaction --all-databases  --flush-logs"
DATABASE="$($MYLOGIN -e "show databases;" |egrep -vi "Data|_schema|mysql")"

for dbname in $DATABASE
do
TABLE="$($MYLOGIN -e "use $dbname;show tables;" |sed '1d')"
for tname in $TABLE
do
MYDIR=/backup/$dbname
[ -d $MYDIR ] || mkdir -p $MYDIR
$MYDUMP $dbname $tname|gzip >$MYDIR/${dbname}_${tname}$(date +%F).sql.gz
done
done
MySQL增量备份脚本,(增量备份是基于 binlog 日志的) # cat /scripts/mysql_zl_back.sh
#/bin/bash

MYPASS="123456"
mysql -uroot -p$MYPASS -e "flush logs;"

转自:http://oldboy.blog.51cto.com/2561410/1731109
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  备份 MySQL 脚本