mysql增量備份斷點恢復
阿新 • • 發佈:2018-09-04
-- size 二進制日誌 生產環境 tput 創建 root 以及 正常 生產環境中在mysql中誤操作是非常正常的,所以就需要用到mysql的增量備份恢復。
增量備份是我們經常用到的,它可以指定某個誤操作的時間以及位置點進行數據恢復,更加準確的恢復我們想要還原的數據。
以下實驗為大家演示誤操作使用增量備份進行數據的恢復。
增量備份是我們經常用到的,它可以指定某個誤操作的時間以及位置點進行數據恢復,更加準確的恢復我們想要還原的數據。
以下實驗為大家演示誤操作使用增量備份進行數據的恢復。
1、配置文件中開啟二進制日誌,並重啟mysql
2、創建測試數據庫,寫入內容
3、查看二進制日誌,截斷日誌,完成完全備份
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql_bin.000001 //查看二進制日誌
mysqladmin -uroot -pabc123 flush-logs //刷新截斷,形成一個新日誌 mysqldump -uroot -pabc123 school > /opt/school.sql //完全備份school數據庫
4、查看新生成的二進制文件
5、添加兩條數據,再次查看新生成的二進制文件
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 //再次查看新生成的二進制文件
6、模擬誤操作、查看二進制文件中誤操作的位置點時間點
7、刪除list表,先進行完全備份恢復
source /opt/school.sql //進行完全備份恢復
再次查看表,完全備份的數據已恢復
8、再次截斷日誌,然後進行增量備份恢復
mysqladmin -uroot -pabc123 flush-logs 再次截斷日誌 (此處截斷日誌,是為了恢復正確數據的時候不會被前面的操作覆蓋)
恢復到誤操作前時間點前的操作
mysqlbinlog --no-defaults --stop-datetime=‘2018-09-03 22:18:29‘ /usr/local/mysql/data/mysql_bin.000002 | mysql -uroot -pabc123
恢復添加jerry的那部分數據
mysqlbinlog --no-defaults --start-datetime=‘2018-09-03 22:19:27‘ /usr/local/mysql/data/mysql_bin.000002 | mysql -uroot -pabc123
可以查看到五條數據都已被恢復
mysql增量備份斷點恢復