生產環境中在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
可以查看到五條數據都已被恢復

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。