久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL恢復(fù)誤刪數(shù)據(jù)圖文教程

瀏覽:117日期:2023-09-05 20:31:47
目錄1、查看是否啟用 binlog 日志2、查看所有 binlog 日志3、查看正在使用的日志4、查找日志所在文件夾5、log 日志轉(zhuǎn) sql6、delete 轉(zhuǎn) insert 恢復(fù)誤刪總結(jié)

MySQL 恢復(fù)誤刪數(shù)據(jù),針對(duì) window 和 Linux 均適用,只需要找到對(duì)應(yīng)的 binlog 目錄文件,默認(rèn)就是 MySQL 安裝目錄下的 data 文件夾

一般誤刪數(shù)據(jù),先停止所有操作,備份數(shù)據(jù)庫

# 備份所有數(shù)據(jù)庫mysqldump -uroot -p123456 --all-databases > /backup/mysqldump/all.db# 恢復(fù)數(shù)據(jù)mysql -uroot -p db_name < /backup/mysqldump/db_name.db1、查看是否啟用 binlog 日志SHOW VARIABLES LIKE '%log_bin%'

2、查看所有 binlog 日志SHOW BINARY LOGS;

3、查看正在使用的日志SHOW MASTER STATUS;

4、查找日志所在文件夾SHOW VARIABLES LIKE '%datadir%';

5、log 日志轉(zhuǎn) sql

使用上面使用的 binlog.000056 文件,先把 該文件復(fù)制到其他地方

mysqlbinlog E:\test\result\binlog.000056 > E:\test\result\db.sql

有可能報(bào)錯(cuò)

添加 --no-defaults 參數(shù)可以解決,但中文會(huì)亂碼(使用下面 vbs 或自定義語言實(shí)現(xiàn)可解決 亂碼問題),一般要加上時(shí)間字段轉(zhuǎn)換 sql

mysqlbinlog --no-defaults --base64-output=decode-rows -v --database=oauth --start-datetime='2023-06-01 01:44:00' --stop-datetime='2023-06-01 01:48:00' F:\mysql-8.0.29-winx64\data\binlog.000058 > E:\test\result\db.sql

轉(zhuǎn)換成功如下,可以看到刪除 sql 的語句

接下來只需要將上面的 delete 語句轉(zhuǎn)換為 inert 即可恢復(fù)誤刪數(shù)據(jù),如果需要轉(zhuǎn)換的多可以通過代碼自定義實(shí)現(xiàn),主要就是將delete 轉(zhuǎn) insert

6、delete 轉(zhuǎn) insert 恢復(fù)誤刪

通過 vbs 腳本轉(zhuǎn)換 sql 語句,當(dāng)然也可以使用其他的語言,window 執(zhí)行 vbs 不需要額外的環(huán)境,你只需要修改下面 vbs 文件中輸入輸出文件名以及編碼類型即可

'=========================='用VBS實(shí)現(xiàn) MYSQL binglog DELETE 轉(zhuǎn) INSERT'==========================function replaceregex(patern,str,tagstr)dim regex,matchesset regex=new regExpregex.pattern=paternregex.IgnoreCase=trueregex.global=truematches=regex.replace(str,tagstr)replaceregex=matchesend function'Mysql binlog DELETE轉(zhuǎn)INSERT=========='VBS打開文本文件Set oldStream = CreateObject('ADODB.Stream')oldStream.CharSet = 'utf-8'oldStream.Open'binLog 生成的 DELETE 原日志文件'oldStream.LoadFromFile('E:\test\result\db.sql') 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 objectnewStream.WriteText newTextnewStream.SaveToFile 'mysqllogOK.sql', 2 'DELETE轉(zhuǎn)成INSERT以后的新的SQL文件名newStream.Close

轉(zhuǎn)換結(jié)果如下,自行選擇新增恢復(fù)數(shù)據(jù)

總結(jié)

到此這篇關(guān)于MySQL恢復(fù)誤刪數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySQL恢復(fù)誤刪數(shù)據(jù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
主站蜘蛛池模板: 国产欧美综合一区二区三区 | 息与子猛烈交尾一区二区 | 色天天综合久久久久综合片 | 三级视频在线观看 | 午夜影院免费体验区 | 免费在线观看毛片网站 | 五月激情六月婷婷 | 日韩亚洲精品在线观看 | 久久久久久国产精品 | 成人影院一区二区三区 | 羞羞视频在线免费 | 欧美一级在线免费观看 | 日韩国产欧美一区 | 国产精品久久av | 国产综合精品一区二区三区 | 国产a视频| 亚洲高清视频在线 | 国产精品一区在线观看你懂的 | 亚洲女人天堂成人av在线 | 久久777| 国产欧美综合一区二区三区 | 亚洲视频一区 | 视频在线一区 | 国产精品禁久久精品 | 天堂一区二区三区四区 | 亚洲免费在线视频 | 91在线精品一区二区 | 成人在线视频网站 | 中文字幕亚洲欧美日韩在线不卡 | 波多野结衣亚洲 | 99成人在线视频 | 天天天天爽 | 国产一区二区三区高清 | 久久亚洲一区二区三区四区 | 一区二区三区 在线 | 亚洲第一av | 99国产精品久久久久久久 | 国产精品1区2区在线观看 | 久久噜噜噜精品国产亚洲综合 | 久久亚洲国产精品 | 午夜免费看片 |