日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

某天,我正在快樂的敲著代碼

突然旁邊的馬大哈同事一聲慘叫,好事的我,連忙把頭伸過去問問怎么了,馬大哈說,他不小心在表上點了清空表

這個時候,要鎮靜,假裝不慌,,,

但是沒有兩分鐘,對面的同事說,怎么訪問不了了……

 

好吧,這里直接說方案

由于navicat的清空表,實際上就是執行的是delete,更狠的截斷表先不說,那個更難恢復

首先查看一下MySQL自帶的bin日志

登陸你的mysql執行下面這個命令

先看看最新的日志文件名字

show master status;

 

mysql誤刪數據恢復

 

在看看日志位置

 

show variables like 'log_bin_basename%';

 

mysql誤刪數據恢復

 

如果你也是centos系統安裝的,而且默認,那么直接cd到這個路徑即可

然后嘗試回憶一下你刪除的時間

mysqlbinlog 命令的參數說明

  1. -base64-output=decode-rows //數據轉換正常的字符,如果不設置這個參數將顯示base64的數據
  2. -database=DBName //數據庫名(一個mysql數據庫比較多,指定方便恢復)
  3. -start-datetime="2019-11-26 18:00:00" //恢復起始時間
  4. -stop-datetime="2019-11-26 18:10:00" //恢復結束時間
cd /var/lib/mysql/

mysqlbinlog -d=要恢復的數據庫名字 --no-defaults --start-datetime='2020-03-16 12:56:00' --stop-datetime='2020-03-16 14:57:00' -vv mysql-bin.000001 > result.txt

 

打開這個result.txt你應該可以看到刪除的記錄

現在使用sed過濾一下目標庫表

cat result.txt | sed -n '/### DELETE FROM `數據庫`.`表名`/,/COMMIT/p' > delete.txt

然后你得到的delete.txt應該是這樣

mysql誤刪數據恢復

 

如果是,那么請繼續

將delete.txt替換成insert語句即可

cat delete.txt | sed -n '/###/p' | sed 's/### //g;s//*.*/,/g;s/DELETE FROM/INSERT INTO/g;s/WHERE/SELECT/g;' |sed -r 's/(@6.*),/1;/g' | sed 's/@[1-9]=//g' | sed 's/@[1-9][0-9]=//g' | sed '0~5s/,/;/' > insert.sql

如果執行成功應該是這樣

mysql誤刪數據恢復

 

到這里基本結束了

 

登陸mysql導入這個腳本

. insert.sql

 

數據又都回來了

nice

分享到:
標簽:mysql
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定