mysql誤update資料恢復

2021-09-17 00:00:25 字數 960 閱讀 2771

-------------------------誤update資料恢復

1。根據set值查詢日誌路徑

/opt/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=decode-rows mysql-bin.000002|grep -b 15 'myy'|more /*/;

2.建立文字

touch update.txt;

3.輸出日誌到文字檔案中

/opt/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=decode-rows mysql-bin.000002|sed -n '/# at 5980/,/commit/p'>/opt/update.txt

注:at 5980 為update日誌開始位置。這個需要先找到日誌中誤update的日誌內容分析。

4.將binlog轉換成sql語句。

sed '/where/' /opt/update.txt|sed -r '/where/'|sed 's/### //g;s//*./,/g'|sed '/where/;s/#.//g;s/commit,//g'|sed '/^$/d'>recover.sql

注:a.@3為最後乙個變數。如果有20個變數,則此處為@20。

b.###   @2 此處#與@之前空格數為3個,不能多不能少。
5.將@變數更換為相應欄位名

sed -i 's/@1/id/g;s/@2/name/g;s/@3/age/g' recover.sql;

6.將set後面where前面最後乙個變數後的逗號去掉。

sed -i -r 's/(age=.*),/1/g' recover.sql

7.將recover.sql在mysql命令列執行,資料即可恢復。

n ↩

資料恢復答疑 誤GHOST之後的資料還能恢復嗎

張宇 北亞 硬碟資料恢復 乙個使用者的諮詢 整理 使用者 我的硬碟用ghost重做了系統,結構分割槽數目與分割槽大小與原來都不相同了,原來的檔案系統是ntfs的,有5個分割槽,現在變成了4個fat32的分割槽。這種情況能否恢復資料?成功率有多高?張宇 硬碟在重新ghost,變成4個分割槽之後,格式化...

資料恢復答疑 誤GHOST之後的資料還能恢復嗎

張宇 北亞 硬碟資料恢復 乙個使用者的諮詢 整理 使用者 我的硬碟用ghost重做了系統,結構分割槽數目與分割槽大小與原來都不相同了,原來的檔案系統是ntfs的,有5個分割槽,現在變成了4個fat32的分割槽。這種情況能否恢復資料?成功率有多高?張宇 硬碟在重新ghost,變成4個分割槽之後,格式化...

資料恢復答疑 誤GHOST之後的資料還能恢復嗎

乙個使用者的諮詢 整理 使用者 我的硬碟用ghost重做了系統,結構分割槽數目與分割槽大小與原來都不相同了,原來的檔案系統是ntfs的,有5個分割槽,現在變成了4個fat32的分割槽。這種情況能否恢復資料?成功率有多高?張宇 硬碟在重新ghost,變成4個分割槽之後,格式化了嗎?有沒有寫過資料進去?...