MySql增量備份-mysqldump
阿新 • • 發佈:2019-01-09
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了,這裡就不做了.