Mysql備份多個數據庫代碼實例
更新時間:2019年12月17日 10:04:41 作者:luozx207
這篇文章主要介紹了Mysql備份多個數據庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了Mysql備份多個數據庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
備份數據腳本
#!/bin/bash
# date是linux的一個命令 date [參數] [+格式]
time=` date +%Y_%m_%d_%H_%M_%S `
# 備份輸出路徑
backupdir=/home/backup/
# 備份文件路徑
filedir=/home/my_app/files/
# 用sql語句取出所有以'test'開頭的數據庫。將指令通過管道傳遞給mysql客戶端;-N表示不輸出結果的表頭及結尾,得到的結果是純粹的數據集
databases=(`echo 'show databases like "test%";' | mysql -N -uroot -proot`)
# 將mysqldump的輸出文件通過管道傳給gzip壓縮,gzip是不能保存原文件且不能壓縮目錄的
mysqldump -uroot -proot --databases ${databases[*]} | gzip > $backupdir/$time.sql.gz
# 備份文件。zip [壓縮輸出文件] [被壓縮文件]
zip -r $backupdir/$time.zip $filedir
# 刪除7天前的備份文件
find $backupdir -mtime +7 -name "*" -exec rm -rf {} \;
然后設置crontab在每天凌晨運行備份腳本即可
數據恢復
mysql -u root -p DATABESE_NAME < dump.sql
或者連接mysql客戶端
mysql> source dump.sql
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

