MYSQL備份:啟用二進制日志功能的MYSQL增量備份
小量的數據庫我們可以每天進行完整備份,因為這也用不了多少時間,但當數據庫很大時,我們就不太可能每天進行一次完整備份了,而且改成每周一次完整備份,每天一次增量備份類似這樣的備份策略。增量備份的原理就是使用了mysql的二進制日志,所以我們必須啟用二進制日志功能。
一、增量備份
1、比如我們在星期天下午11點做一次完整備份:
mysqldump --single-transaction --flush-logs --master-data=2 --all-databases > fullbackup_sunday_11_PM.sql
在sql文件中我們會看到兩行:
– Position to start replication or point-in-time recovery from
– CHANGE MASTER TO MASTER_LOG_FILE=’bin-log.000002′, MASTER_LOG_POS=107;
第二行包含了我們需要的信息,是指備份后所有的更改將會保存到bin-log.000002二進制文件中。
2、然后在星期一下午11點我們來做一次增量備份:
mysqladmin flush-logs
這時將會產生一個新的二進制日志文件bin-log.000003,bin-log.000002則保存了自星期天下午11點到現在的所有更改,我們只需要把這個文件備份到安全的地方就行了。然后星期二我們又做增量備份,還是執行同樣的命令,這時我們保存bin-log.000003文件。
二、恢復備份
比如星期三中午12點出現了故障,這時需要恢復,我們首先導入星期天的完整備份:
mysql < fullbackup_sunday_3_AM.sql
接著我們導入星期一和星期二的增量備份:
mysqlbinlog bin-log.000002 bin-log.000003 mysql
這時我們已經恢復了所有備份數據,我們還可以找到bin-log.000004,進一步恢復最新的數據。
關鍵字:MYSQL、數據庫、備份
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解