91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫誤刪回滾怎么解決

發布時間:2022-07-01 10:21:58 來源:億速云 閱讀:441 作者:iii 欄目:開發技術

這篇文章主要講解了“MySQL數據庫誤刪回滾怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL數據庫誤刪回滾怎么解決”吧!

某次一不小心,用了delete from xxx 刪除了幾條重要數據,在網上找了很多方法,但都比較零散,打算記錄本次數據找回的過程。
大致分為以下幾步

1、查看binlog是否開啟

# log_bin是ON,就說明打開了 OFF就是關閉狀態,以下操作,只有為 ON 時有效。
show variables like 'log_bin';

2、找到binlog文件名

show master logs;

運行以上代碼,如下圖 TS1-bin.000009 就是我們要找的文件名

MySQL數據庫誤刪回滾怎么解決

3、查看binlog日志位置

show variables like '%datadir%';

4、根據上面得到的位置,去找到 TS1-bin.000009 文件

5、進入到mysql安裝目錄的bin目錄下,執行以下命令根據誤刪除的時間范圍從TS1-bin.000009文件導出成sql文件

mysqlbinlog --base64-output=decode-rows -v --database=數據庫名 --start-datetime="2022-06-29 15:35:00" --stop-datetime="2022-06-29 15:45:00" C:/Users/Administrator/Desktop/TS1-bin.000009 > C:/Users/Administrator/Desktop/mysqllog.sql

這里我把 TS1-bin.000009 文件拷貝到了桌面,因為該文件原始存放路徑有空格,導致命令執行失敗,無法找到路徑。
得到 mysqllog.sql 文件后,可以用記事本打開,搜索 DELETE 關鍵字,找到刪除數據的記錄

6、將 DELETE 語句改造成 INSERT 語句,在windows下用vbs來實現,把下面代碼復制保存為:deleteToinsert.vbs 文件(一定要是.vbs格式文件) 與mysqllog.sql在同一目錄下,然后雙擊運行,會生成mysqllogOK.sql文件就是我們要的INSERT語句

'========================== 
'用VBS實現 MYSQL binglog DELETE轉INSERT 
'========================== 
function replaceregex(patern,str,tagstr) 
    dim regex,matches 
    set regex=new regExp 
    regex.pattern=patern 
    regex.IgnoreCase=true 
    regex.global=true 
    matches=regex.replace(str,tagstr) 
    replaceregex=matches 
end function
 
'======Mysql binlog DELETE轉INSERT================
'VBS打開文本文件
Set oldStream = CreateObject("ADODB.Stream")
oldStream.CharSet = "utf-8"
oldStream.Open
oldStream.LoadFromFile("mysqllog.sql") 'binLog生成的DELETE原日志文件
oldText = oldStream.ReadText()
    newText=replace(oldText,"### DELETE FROM", ";INSERT INTO")
    newText=replace(newText,"### WHERE", "SELECT")
    newText=replace(newText,"###", "")
    newText=replace(newText,"@1=", "")
    newText=replaceregex("\@[1-9]=",newText, ",")
    newText=replaceregex("\@[1-9][0-9]=",newText, ",")
oldStream.Close
'VBS保存文件
Set newStream = CreateObject("ADODB.Stream")
newStream.Type = 2 'Specify stream type - we want To save text/string data.
newStream.Charset = "utf-8" 'Specify charset For the source text data.
newStream.Open 'Open the stream And write binary data To the object
newStream.WriteText newText
newStream.SaveToFile "mysqllogOK.sql", 2 'DELETE轉成INSERT以后的新的SQL文件名
newStream.Close

7、拿到對應的 INSERT 語句后執行。

感謝各位的閱讀,以上就是“MySQL數據庫誤刪回滾怎么解決”的內容了,經過本文的學習后,相信大家對MySQL數據庫誤刪回滾怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

江口县| 桂林市| 上饶市| 平凉市| 丹凤县| 百色市| 南通市| 康保县| 腾冲县| 溆浦县| 太保市| 绵竹市| 天气| 城口县| 长乐市| 岫岩| 锦州市| 洞口县| 共和县| 拜泉县| 揭阳市| 南漳县| 泗水县| 株洲县| 大悟县| 固始县| 凤阳县| 北安市| 阜新| 蓬莱市| 虹口区| 布拖县| 平舆县| 拜泉县| 白水县| 武川县| 陇南市| 铜山县| 迭部县| 城步| 漠河县|