16、MySQL數據庫分庫分表備份腳本
MySQL數據庫分庫分表備份腳本
===================學員分享分庫分表==========================
腳本單雙引號的區別:
單引號是強引用,強制輸出是所見即所得。
雙引號是解析變量 和 多個字符串、數字等連接一個字符串
條件1 || 條件2 或 假真 真假
條件1 && 條件2 並 真真 假假
!條件1 && 條件2 並 真假 假真
[[email protected]
#!/bin/sh
USER=root
PASSWD=oldboy
SOCKET=/data/3306/mysql.sock
LOGIN="mysql -u$USER -p$PASSWD -S $SOCKET"
DATABASE=$($LOGIN -e "show databases;"|egrep -v "*chema|mysql"|sed ‘1d‘)
DUMP="mysqldump -u$USER -p$PASSWD -S $SOCKET"
for database in $DATABASE
do
TABLE=$($LOGIN -e "use $database;show tables;"|sed ‘1d‘)
for table in $TABLE
do
[ -d /server/backup/$database ] || mkdir -p /server/backup/$database
# [ ! -d /server/backup/$database ] && mkdir -p /server/backup/$database
$DUMP $database $table |gzip >/server/backup/$database/${database}_${table}_$(date +%F).sql.gz
done
done
=============================================================
16、MySQL數據庫分庫分表備份腳本