數據庫mysql 自動分庫分表備份腳本
當我們在公司中遇到數據庫的備份,項目比較多,經常進行數據庫和表的添加工作,那麼我們
想要讓系統腳本自動進行查詢數據庫裏的庫和表結構,然後進行自動的定期進行數據庫和表的定期份,
那麼我們該如何實現呢,大家看看以下的腳本:
vi mysql_backup.sh
#!/bin/sh
#backup tiandao bbs edoing
#coding tonye.li
MYUSER=root
MYPASS=meidi
SOCKET=/data/3306/mysql.sock
MYCMD="mysql -u$MYUSER -p$MYPASS -S $SOCKET"
MYDUMP="mysqldump -u$MYUSER -p$MYPASS -S $SOCKET"
for database in `$MYDUMP -e "show databases;"|sed '1,2d'|egrep -v "mysql|schema"`
do
mkdir -p /server/backup/${database}
for table in `$MYCMD -e "show tables from $databases;"|sed '1d'`
do
$MYDUMP $database $table|gzip >/server/backup/${database}_${table}$(date +$F).sql.gz
done
done
此腳本過濾掉了系統自帶的兩個數據庫(mysql,schema),腳本可能還需要根據不同的環境進行改
變,希望大家互相學習,謝謝!