0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MySQL數(shù)據(jù)庫表誤刪除記錄的數(shù)據(jù)恢復(fù)案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2023-11-09 15:16 ? 次閱讀

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境:
一臺本地windows sever操作系統(tǒng)服務(wù)器,服務(wù)器上部署mysql數(shù)據(jù)庫單實(shí)例,引擎類型為innodb,表內(nèi)數(shù)據(jù)存儲所使用表空間類型為獨(dú)立表空間。無數(shù)據(jù)庫備份,未開啟binlog。

數(shù)據(jù)庫故障&分析:
工作人員在執(zhí)行Delete命令刪除數(shù)據(jù)時未添加where子句進(jìn)行篩選,導(dǎo)致全表數(shù)據(jù)被刪除,刪除后未對該表進(jìn)行其他操作。
在本案例中,由于mysql數(shù)據(jù)庫沒有備份也未開啟binlog日志,無法直接還原數(shù)據(jù)庫。
針對引擎類型為innodb的mysql 數(shù)據(jù)庫誤刪除導(dǎo)致記錄丟失的數(shù)據(jù)恢復(fù)方案有三種:備份還原、binlog還原和記錄深度解析還原。對于本案例來說前兩種方案不適用,只能使用記錄深度解析的方案恢復(fù)刪除的數(shù)據(jù)。此方案原理:模擬innodb引擎記錄管理方式,根據(jù)表結(jié)構(gòu)信息將二進(jìn)制文件解析為字符記錄。

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)流程:
1、用戶方將表結(jié)構(gòu)文件及表數(shù)據(jù)文件(.ibd)發(fā)送給數(shù)據(jù)庫數(shù)據(jù)恢復(fù)工程師。
2、北亞企安數(shù)據(jù)恢復(fù)工程師團(tuán)隊針對此類mysql數(shù)據(jù)庫(innodb引擎,無備份,binlog未開啟)誤刪除故障進(jìn)行過深入研究,開發(fā)了針對此類故障的mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)工具。使用這個北亞企安自主研發(fā)的mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)工具來恢復(fù)數(shù)據(jù)。

pYYBAGOQDPmATZsSAADLL1Vz3ew314.png

北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)

poYBAGOQDPmABUhuAAF0QzeSrb8033.png

北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)



本案例中用戶方提供了表結(jié)構(gòu)腳本,使用數(shù)據(jù)恢復(fù)工具中的5+3功能進(jìn)行恢復(fù)。
讀取表結(jié)構(gòu)信息:

pYYBAGOQDQKAS3XmAADAaNpkoJc086.png

北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)

poYBAGOQDQKAQoRWAAHpHMHBzIM836.png

北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)



解析記錄:

pYYBAGOQDQqAIQB5AAEsVV_GwhQ163.png

北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)



本數(shù)據(jù)恢復(fù)工具默認(rèn)將記錄提取為SQL備份格式,解析完成后還原到數(shù)據(jù)庫并查看結(jié)果:

pYYBAGOQDROARtodAAOmjOND_dc066.png

北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)



3、隨機(jī)挑選表內(nèi)數(shù)據(jù)交由用戶方驗證,并統(tǒng)計恢復(fù)記錄總數(shù)。用戶方經(jīng)過跨部門多方驗證后確認(rèn)恢復(fù)數(shù)據(jù)完整正確,總記錄數(shù)符合原表內(nèi)記錄條數(shù)。本次數(shù)據(jù)恢復(fù)工作成功。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)恢復(fù)

    關(guān)注

    10

    文章

    525

    瀏覽量

    17311
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3734

    瀏覽量

    64170
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    791

    瀏覽量

    26351
收藏 人收藏

    評論

    相關(guān)推薦

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫報錯的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機(jī)房異常斷電后,Oracle數(shù)據(jù)庫報錯:“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開
    的頭像 發(fā)表于 09-30 13:31 ?151次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—異常斷電后Oracle<b class='flag-5'>數(shù)據(jù)庫</b>啟<b class='flag-5'>庫</b>報錯的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?181次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Oracle<b class='flag-5'>數(shù)據(jù)庫</b>文件system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯誤823,附加數(shù)據(jù)庫失敗。數(shù)據(jù)庫沒有備份,無法通過備份恢復(fù)數(shù)據(jù)庫。
    的頭像 發(fā)表于 09-20 11:46 ?228次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯誤的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫delete刪除數(shù)據(jù)恢復(fù)方法

    刪除Oracle數(shù)據(jù)庫數(shù)據(jù)一般有以下2種方式:delete、drop或truncate。下面針對這2種刪除oracle數(shù)據(jù)庫
    的頭像 發(fā)表于 09-11 11:45 ?251次閱讀

    虛擬機(jī)數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)被誤刪除數(shù)據(jù)恢復(fù)案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)環(huán)境: Linux操作系統(tǒng)服務(wù)器,EXT4文件系統(tǒng)。服務(wù)器中有數(shù)臺KVM虛擬機(jī)。 虛擬機(jī)1:主數(shù)據(jù)庫服務(wù)器 虛擬磁盤:系統(tǒng)盤(qcow2)+數(shù)據(jù)盤(raw)
    的頭像 發(fā)表于 08-07 13:33 ?290次閱讀
    虛擬機(jī)<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—KVM虛擬機(jī)被<b class='flag-5'>誤刪除</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫底層File Record被截斷為0的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫數(shù)據(jù)無法被讀取。 經(jīng)過數(shù)據(jù)庫數(shù)據(jù)恢復(fù)工程師的初步檢測,發(fā)現(xiàn)SQL Server
    的頭像 發(fā)表于 07-26 11:27 ?295次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫</b>底層File Record被截斷為0的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—Oracle刪除數(shù)據(jù)不用怕!這些數(shù)據(jù)恢復(fù)方法了解一下

    相信有很多oracle數(shù)據(jù)庫用戶都遇到過在操作Oracle數(shù)據(jù)庫誤刪除某些重要數(shù)據(jù)的情況,這個時候如果數(shù)據(jù)庫沒有備份且
    的頭像 發(fā)表于 07-19 16:40 ?381次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫所在分區(qū)空間不足報錯的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 某品牌服務(wù)器存儲中有兩組raid5磁盤陣列。操作系統(tǒng)層面跑著SQL Server數(shù)據(jù)庫,SQL Server
    的頭像 發(fā)表于 07-10 13:54 ?375次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統(tǒng)服務(wù)器使用。windows系統(tǒng)服務(wù)器內(nèi)運(yùn)行了Sql Server數(shù)據(jù)庫,存儲空間在操作系統(tǒng)層面劃分
    的頭像 發(fā)表于 05-08 11:43 ?430次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—raid5陣列上層Sql Server<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—未開啟binlog的Mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 本地服務(wù)器,windows server操作系統(tǒng) ,部署有mysql單實(shí)例,
    的頭像 發(fā)表于 12-08 14:18 ?999次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—未開啟binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    MySQL數(shù)據(jù)庫是如何應(yīng)對故障恢復(fù)數(shù)據(jù)恢復(fù)回滾的問題呢?

    今天這篇文章,我想聊一聊MySQL數(shù)據(jù)庫是如何應(yīng)對故障恢復(fù),與數(shù)據(jù)恢復(fù)回滾的問題。一個最基本的數(shù)據(jù)庫
    的頭像 發(fā)表于 11-27 10:04 ?1014次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>是如何應(yīng)對故障<b class='flag-5'>恢復(fù)</b>與<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>回滾的問題呢?

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MSSQL Server報錯“附加數(shù)據(jù)庫錯誤823”的數(shù)據(jù)恢復(fù)案例

    MSSQL Server數(shù)據(jù)庫比較常見的報錯是“附加數(shù)據(jù)庫錯誤823”。如果數(shù)據(jù)庫有備份,只需要還原備份即可;如果無備份或者備份不可用,則需要使用專業(yè)的數(shù)據(jù)
    的頭像 發(fā)表于 11-10 16:20 ?801次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—MSSQL Server報錯“附加<b class='flag-5'>數(shù)據(jù)庫</b>錯誤823”的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫介紹和數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫是文檔數(shù)據(jù)存儲,將文檔存儲在集合之中,不是像MySQL一樣的關(guān)系型數(shù)據(jù)庫。
    的頭像 發(fā)表于 11-08 15:04 ?812次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>——MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>介紹和<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    如何在HarmonyOS對數(shù)據(jù)庫進(jìn)行備份,恢復(fù)與加密

    數(shù)據(jù)庫備份與恢復(fù) 場景介紹 當(dāng)應(yīng)用在處理一項重要的操作,顯然是不能被打斷的。例如:寫入多個關(guān)聯(lián)的事務(wù)。此時,每個的寫入都是單獨(dú)的,但是
    發(fā)表于 11-07 08:57