1. 程式人生 > >MySql增量備份-mysqldump

MySql增量備份-mysqldump

MySql 備份可以是物理備份,也可以是邏輯備份.
(mysql 版本 5.7)
本文簡介mysqldump來實現邏輯的增量備份 .
前提
完全備份是必須的,但隨著資料庫的增大,每次完全備份將花費較多時間.所以增量備份將是 一個理想的選擇.
mysqldump 是線上的邏輯備份工具. 你也可以用 MySQL Enterprise Backup,它能提供物理備份和更好的優化備份操作.
由於全域性備份會獲得全域性鎖,所以innodb(表級事物處理)能得到很好的支援.同時增量備份需要bin-log支援.首先你要啟用
binlog.
編輯/etc/mysql/mysql.conf.d/mysqld.cnf

log-bin=mysql-bin
server-id=1

啟動服務

systemctl restart mysql

最後確認一下
在這裡插入圖片描述

先做一個全域性備份

shell> mysqldump --all-databases --master-data --single-transaction > backup_sunday_1_AM.sql

使用binlog後, 每次Mysql啟動都會自動產生一個 mysql-bin.00000x 檔案. mysql-bin.index包括所有這些檔案的索引 .

關鍵的增量備份命令

shell> mysqldump --single-transaction --flush-logs --master-data=2   --all-databases > backup_sunday_1_AM.sql

比較這個檔案, 只是將第一次備份後的所有變化增加了進來(比如mysql-bin.000005之前的變化), 同樣binlog產生一個新的mysql-bin.00000x檔案(比如,mysql-bin.000006)
這樣增量備份就完成了.非常簡單吧.
剩下工作就是cron了,這裡就不做了.