首页 > 代码库 > msql-分库分表备份
msql-分库分表备份
#!/bin/sh
TIME=`date -d ‘1 day ago‘ +%Y%m%d`
PASSWORD=""
USERNAME="root"
###mysql 路径
MYSQL="/usr/local/webserver/mysql/bin/mysql -u${USERNAME} -p${PASSWORD}"
MYDUMP="/usr/local/webserver/mysql/bin/mysqldump -u${USERNAME} -p${PASSWORD}"
###备份路径
BACKPATH=/data/db_backup/${TIME}
[ ! -d ${BACKPATH} ] && mkdir -p /data/db_backup/${TIME}
#---------------------------------------
###备份所有库
DBLIST=`${MYSQL} -e "show databases;"|sed 1d|egrep -v "_schema|mysql" `
###备份指定库
#DBLIST="cacti opola"
#----------------------------------------
for dbname in ${DBLIST}
do
TLIST=`${MYSQL} -e "show tables from ${dbname}"|sed 1d`
###备份库
# ${MYDUMP} ${dbname} --single-transaction --routines --events --master-data=http://www.mamicode.com/2 |gzip > /data/db_backup/${TIME}/${dbname}/${dbname}_${TIME}sql.gz
###备份表
for tname in ${TLIST}
do
mkdir -p /data/db_backup/${TIME}/${dbname}
${MYDUMP} ${dbname} ${tname} --single-transaction --routines --events --master-data=http://www.mamicode.com/2 |gzip > /data/db_backup/${TIME}/${dbname}/${dbname}_${tname}${TIME}sql.gz
done
done
msql-分库分表备份