1. 程式人生 > >mysqlbinlog來恢復mysql數據庫數據【簡單體驗】

mysqlbinlog來恢復mysql數據庫數據【簡單體驗】

img -- 數據庫 ont 接下來 mysq png nlog size

前言

僅限於菜鳥的一次簡單體驗。

前提:mysql已經開啟了binlog日誌功能。可以自行百度,推薦地址--------->windows下如何開啟mysql日誌功能

體驗目標:在數據庫表裏面新增一條數據,然後再刪除該條數據,然後通過binlog去恢復被刪除的數據。

環境

windows10;

mysql5.7.21;

數據庫初始狀態

技術分享圖片

可以看到只有兩條記錄。

數據準備

先來添加一條數據

技術分享圖片

再將這條數據刪除

技術分享圖片

使用命令

mysql> show master status;

查看最新的日誌寫在那個日誌文件,如下

技術分享圖片

可以看到日誌寫在了mysql-bin.000002這個配置文件。

使用命令

mysql> show binlog events in
mysql-bin.000002;

查看日誌內容:

技術分享圖片

紅色方框圈的就是剛才插入數據的日誌,紅色方框下面的就是刪除那天數據的日誌。從紅色方框裏的內容可以看出,插入操作日誌起始位置是937,結束為止是1293,這兩個數字要記住!!!

接下來退出mysql

執行mysql>exit;即可

開始恢復數據

該mysqlbinlog命令出場了。

技術分享圖片

在執行該命令以前確保你已經將該命令加入了環境變量,否則你需要進入mysql安裝目錄的bin文件夾下執行該命令。

註意到上面圖中三個紅色方框,做一下說明:

第一個:代表要恢復的日誌起始位置;

第二個:要恢復的日誌的結束位置;

第三個:使用的日誌文件的路徑

執行完之後再去查詢數據表

技術分享圖片

發現剛才刪掉的數據已經恢復了。

至此,目標達成,大功告成!

mysqlbinlog來恢復mysql數據庫數據【簡單體驗】