mysql分库分表备份脚本[转帖]
生活随笔
收集整理的這篇文章主要介紹了
mysql分库分表备份脚本[转帖]
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#!/bin/bash
#created by yangqiqi 2017-08-24 #創(chuàng)建備份用戶
#grant select,lock tables,reload,super,file,show view on *.* to 'mysqlbackup'@'localhost' identified by 'my_password';
#grant execute on *.* to 'mysqlbackup'@'localhost' identified by 'my_password'; 授予調(diào)用存儲(chǔ)過程的權(quán)限
##flush privileges;USERNAME=mysqlbackup #備份的用戶名
PASSWORD=my_password #備份的密碼
HOST=localhost #備份主機(jī)DATE=`date +%Y-%m-%d` #用來做備份文件名字的一部分
OLDDATE=`date +%Y-%m-%d -d '-10 days'` #本地保存天數(shù) #指定命令所用的全路徑
MYSQL=/app/mysql5.5/bin/mysql
MYSQLDUMP=/app/mysql5.5/bin/mysqldump
MYSQLADMIN=/app/mysql5.5/bin/mysqladmin#創(chuàng)建備份的目錄和文件
BACKDIR=/data/backup/db
[ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
[ -d ${BACKDIR}/${DATE} ] || mkdir ${BACKDIR}/${DATE}
[ ! -d ${BACKDIR}/${OLDDATE} ] || rm -rf ${BACKDIR}/${OLDDATE} #保存10天 多余的刪除最前邊的
#開始備份 for循環(huán)想要備份的數(shù)據(jù)庫
MYSQLDUMP_LIST=$(${MYSQL} -uroot -p'123456' -e "show databases"| grep -Evi "database|infor|perfor|mysql")for DBNAME in ${MYSQLDUMP_LIST} ##使用for依次羅列需要備份的數(shù)據(jù)庫名字
doTABLE="$(${MYSQL} -uroot -p'123456' -e "use $DBNAME;show tables;"|sed '1d')" #依次列出需要備份的表的名字for tname in $TABLEdoMYDIR=${BACKDIR}/${DATE}/${DBNAME} #echo $MYDIR[ ! -d $MYDIR ] && mkdir -p $MYDIR #創(chuàng)建備份表的目錄$MYSQLDUMP -uroot -p'123456' $DBNAME $tname |gzip >$MYDIR/${DBNAME}_${tname}_${DATE}.sql.gzdonelogger "${DBNAME}_${tname} has been backup successful - $DATE"
done
?
轉(zhuǎn)載于:https://www.cnblogs.com/yinwutuan/p/10175698.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的mysql分库分表备份脚本[转帖]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 50 【Go版本变化】
- 下一篇: 随机快排