注意:主從同步不能代替數據庫備份
舉例說明,如果我們在主數據庫上誤刪了一個table,那麼從數據庫也會執行相應的操作,如果沒有備份,這就會導致刪掉的數據就無法找回。(即使回滾二進制日志也不一定能找回,因為二進制日志的保存是有時間限制的,並且回滾二進制日志非常復雜)。
因此數據庫的完全備份、增量備份是至關重要的。
備份策略
1. 每天進行數據庫備份。
mysqldump --master-data --single-transaction -R --databases [db1] [db2] [db3] | gzip -9 - | pv >all-db-with-master-data-$(date +%Y%m%d).sql.gz
2. 將每天的備份同步到從服務器上,以便隨時進行從數據庫的搭建。
數據庫的恢復
1. 恢復主數據庫。
將master-data生產的從數據庫信息注釋掉,然後恢復即可。
2. 恢復從數據庫。
使用備份的數據文件,恢復從數據庫,然後啟動slave即可。
start slave;
雲備份
定期將備份的數據庫傳至百度雲或者其他雲盤,能保證數據的存儲,以防萬一服務器崩潰。
PS: 百度雲的同步腳本可以在網上搜到,或者將數據傳到掛載百度網盤的windows服務器,這樣百度網盤可以自動同步。