MySQL5.7.的備份恢復方案。


系統:Centos 7.4

版本:MySQL5.7.24

備份工具:percona xtrabackupd

全量備份

備份命令:innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd --stream=tar /tmp | gzip >$data_file

恢復命令:

     service mysql stop  #停止服務

     mv /data/database /data/database_`data +%F`  #重命名數據庫數據目錄

     mkdir /data/database   #新建數據庫數據目錄

     tar -zxvf $data_file -C /data/database  #解壓備份壓縮包到新建數據庫數據目錄

     innobackupex --defaults-file=/etc/my.cnf --apply-log  /data/database   #恢復

     chown -R mysql:mysql /data/database   #修改權限

     service mysql start  #啟動服務

優勢:恢復時間短,維護成本低。

劣勢:占用磁盤空間多,備份時占用資源多。

推薦:適合大多中小型公司。

 

增量備份

全量+增量備份

命令:innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd /data/mysqldata/backup/  #一次全量

   innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd --incremental /data/mysqldata/backup_rec --incremental-basedir=/data/mysqldata/backup/$(`data +%F`)  #增量第一次

恢復命令:

     service mysql stop  #停止服務

     mv /data/database /data/database_`data +%F`  #重命名數據庫數據目錄

     mkdir /data/database   #新建數據庫數據目錄

     innobackupex --defaults-file=$db_cnf  --apply-log --redo-only /data/mysqldata/backup/$(`data +%F`)   #恢復全量

     innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only /data/mysqldata/backup/$(`data +%F`) --incremental-dir=/data/mysqldata/backup_rec/$(`data +%F`)$1  #恢復第一次增量

     innobackupex --defaults-file=/etc/my.cnf --apply-log /data/mysqldata/backup/$(`data +%F`) --incremental-dir=/data/mysqldata/backup_rec/$(`data +%F`)$2 #恢復最后一次增量

     innobackupex --defaults-file=$db_cnf  --apply-log --redo-only /data/mysqldata/backup/$(`data +%F`)   #再執行一次恢復全量

     innobackupex --defaults-file=$db_cnf  --copy-back /data/mysqldata/backup/$(`data +%F`)   #還原備份數據

     chown -R mysql:mysql /data/database   #修改權限

     service mysql start  #啟動服務

優勢:占用空間小,不經常鎖表。

劣勢:增量備份越多,恢復時間越長,維護成本越高。

推薦:適合大公司。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM