亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL數據庫誤刪回滾的解決

 更新時間:2022年06月30日 15:08:21   作者:半路馬龍  
本文主要介紹了MySQL數據庫誤刪回滾的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

1、查看binlog是否開啟

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

2、找到binlog文件名

show master logs;

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

3、查看binlog日志位置

show variables like '%datadir%';

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

5、進入到mysql安裝目錄的bin目錄下,執(zhí)行以下命令根據誤刪除的時間范圍從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 文件拷貝到了桌面,因為該文件原始存放路徑有空格,導致命令執(zhí)行失敗,無法找到路徑。
得到 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 語句后執(zhí)行。

參考文章

https://blog.csdn.net/qq_36602951/article/details/120729047
https://juejin.cn/post/7028955574242902023

到此這篇關于MySQL數據庫誤刪回滾的解決的文章就介紹到這了,更多相關MySQL數據庫誤刪回滾內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解MySQL插入和查詢數據的相關命令及語句使用

    詳解MySQL插入和查詢數據的相關命令及語句使用

    這篇文章主要介紹了MySQL插入和查詢數據的相關命令及語句使用,包括相關的PHP腳本操作方法講解也很詳細,需要的朋友可以參考下
    2015-11-11
  • 綠色版mysql注冊卸載服務方法

    綠色版mysql注冊卸載服務方法

    如果直接用綠色版的mysql,則下載后解壓,只需對目錄下的my.ini文件的basedir(mysql的基本目錄)和datadir(mysql數據目錄)指定就可以,如下所示。
    2013-06-06
  • Mysql遷移到TiDB雙寫數據庫兜底方案詳解

    Mysql遷移到TiDB雙寫數據庫兜底方案詳解

    這篇文章主要為大家介紹了Mysql遷移到TiDB雙寫數據庫兜底方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • mysql遞歸函數with?recursive的用法舉例

    mysql遞歸函數with?recursive的用法舉例

    在實際開發(fā)的過程中,我們會遇到一些數據是層級關系的、要展示數據子父級關系的時候,下面這篇文章主要給大家介紹了關于mysql遞歸函數with?recursive的用法舉例,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • mysql定時備份shell腳本和還原的示例

    mysql定時備份shell腳本和還原的示例

    數據庫備份是防止數據丟失的一種重要手段,生產環(huán)境中,數據的安全性是至關重要的,任何數據的丟失都可能產生嚴重的后果,所以本文給大家介紹了mysql定時備份shell腳本和還原的實例,需要的朋友可以參考下
    2024-02-02
  • Linux系統(tǒng)下查看mysql版本的四種方法

    Linux系統(tǒng)下查看mysql版本的四種方法

    這篇文章主要介紹了Linux系統(tǒng)下查看mysql版本的四種方法,本文講解了在終端下用mysql -V、使用mysql> status、在help里面查找 、使用mysql的函數等4種方法,需要的朋友可以參考下
    2015-05-05
  • 詳解MySQL索引原理以及優(yōu)化

    詳解MySQL索引原理以及優(yōu)化

    在本篇文章中小編給大家整理了關于MySQL索引原理以及優(yōu)化的相關知識點以及實例代碼,需要的朋友們參考下。
    2019-06-06
  • MySQL數據庫高可用HA實現小結

    MySQL數據庫高可用HA實現小結

    MySQL數據庫是目前開源應用最大的關系型數據庫,有海量的應用將數據存儲在MySQL數據庫中,這篇文章主要介紹了MySQL數據庫高可用HA實現,需要的朋友可以參考下
    2022-01-01
  • MySQL truncate table語句的使用

    MySQL truncate table語句的使用

    這篇文章主要介紹了MySQL truncate table語句的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 淺談sql連接查詢的區(qū)別 inner,left,right,full

    淺談sql連接查詢的區(qū)別 inner,left,right,full

    下面小編就為大家?guī)硪黄獪\談sql連接查詢的區(qū)別 inner,left,right,full。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10

最新評論