1. 程式人生 > 實用技巧 >mysql資料delete後的資料恢復

mysql資料delete後的資料恢復

誤刪除了一個訂單,訂單號為:D200711008, 現根據binlog對該訂單資料進行恢復。

1. 檢視binlog日誌, 取最新的一個mysql-bin.000635

show binary logs;

2. 匯出刪除日期範圍內的binlog日誌

mysqlbinlog -uhairdonkey -padmin123 -P3306 -h192.168.1.234 --start-datetime="2020-07-17 11:50:00" --stop-datetime="2020-07-17 12:10:00" --read-from-remote-server -vv mysql-bin.000635 > row.sql

3. 通過vim命令查詢到訂單號的文字內容

把該文字複製下來,存放到檔案 a.txt

4. 使用命令把binlog指令碼轉換為insert語句

cat a.txt | sed -n '/###/p' | sed 's/### //g;s/\/\*.*/,/g;s/DELETE FROM/INSERT I NTO/g;s/WHERE/SELECT/g;' |sed -r 's/(@17.*),/\1;/g' | sed 's/@[1-9]=//g' | sed ' s/@[1-1][0-7]=//g'

轉換後再進行編輯,去除一些轉換沒處理號的欄位, 執行insert語句即可。

完畢~~