Shell腳步之MySql分庫分表備份

前言

數據備份的重要性已經不用過多強調了。這篇文章我們就以MySQL數據進行演示如何通過Shell腳步進行MySQL數據庫的分庫分表備份。

要求

Linux命令要求比較熟悉,Shell腳步語法規則也要熟悉,MySQL的數據庫備份命令要比較熟悉。下面也會提到,如果有不懂得希望可以自行查閱資料學習。

命令窗口查詢MySQL數據庫列表

Shell腳步之MySql分庫分表備份
上面我們就通過Linux命令窗口查詢到了MySQL的數據庫列表

去除MySQL自帶數據庫獲取目標業務數據庫列表,查看錶列表

Shell腳步之MySql分庫分表備份
備註:通過過濾掉MySQL自帶數據庫,那麼就剩下ckmike數據庫,我們就對這個書庫進行備份。
Shell腳步之MySql分庫分表備份
ckmike數據庫中有兩張表,我們對錶列表同樣可過濾掉我們不要的第一行,如下:
Shell腳步之MySql分庫分表備份

編寫腳步進行分庫分表備份

#!/bash/sh
USER=root
PASSWORD=jp349869
LOGIN="mysql -u$USER -p$PASSWORD"
DUMP="mysqldump -u$USER -p$PASSWORD"
DATABASE=$($LOGIN -e "show databases;"|egrep -v "*schema|mysql|sys"|sed '1d')
for database in $DATABASE
do
    TABLE=$($LOGIN -e "use $database;show tables"|sed '1d')
    for table in $TABLE
    do
      #如果目錄不存在則進行創建
        [ -d /server/back/$database ] ||  mkdir /server/back/$database -p
        $DUMP $database $table |gzip >/server/backup/${database}/${table}_$(date +%F).sql.gz
    done
done

保存之後進行shell腳步執行。
Shell腳步之MySql分庫分表備份
到這裏Shell腳步MySQL數據庫分庫分表備份就完成了。爲了方便也可以寫入Linux定時任務。在這裏不講如何寫入定時任務,自行查閱。

其他數據庫同理,知識命令和藉助的備份工具不同而已,可自行擴展。打完收工!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章