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ù)庫Delete誤刪除的數(shù)據(jù)恢復(fù)案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2022-12-07 11:49 ? 次閱讀

MySQL數(shù)據(jù)庫屬于關(guān)系型數(shù)據(jù)庫。SQL是一種用于操作關(guān)系型數(shù)據(jù)庫的結(jié)構(gòu)化語言。關(guān)系型數(shù)據(jù)庫就是指在關(guān)系模型的基礎(chǔ)上建立起來的數(shù)據(jù)庫,是一種借助了集合代數(shù)等一些數(shù)學(xué)方法和數(shù)學(xué)概念處理數(shù)據(jù)的數(shù)據(jù)庫。

MySQL數(shù)據(jù)庫具有體積小,速度快,性價比高、開源、廣泛支持各種主流操作系統(tǒng)的優(yōu)勢,被大中小型企業(yè)廣泛使用。

MySQL數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境:

本地服務(wù)器,操作系統(tǒng)為windows server;

部署mysql單實(shí)例,引擎類型為innodb,表空間類型為獨(dú)立表空間;

沒有數(shù)據(jù)庫備份,未開啟binlog。

MySQL數(shù)據(jù)庫故障:

用戶使用Delete命令刪除數(shù)據(jù)時未添加where子句進(jìn)行篩選,導(dǎo)致全表數(shù)據(jù)被刪除,刪除后再未對該表做任何操作。

MySQL數(shù)據(jù)庫恢復(fù)方案:

1、本案例中MySQL數(shù)據(jù)庫沒有備份也未開啟binlog日志,無法直接還原數(shù)據(jù)庫,屬于典型的表內(nèi)mysql數(shù)據(jù)庫誤刪除故障。

2、針對mysql(innodb引擎)誤刪除的數(shù)據(jù)恢復(fù)方案有三種:備份還原、binlog還原和記錄深度解析。前兩種方案不適用本案例情況,只能使用第三種-記錄深度解析的方案恢復(fù)MySQL數(shù)據(jù)庫數(shù)據(jù)。此方案原理:模擬innodb引擎記錄管理方式,根據(jù)表結(jié)構(gòu)信息將二進(jìn)制文件解析為字符記錄。

MySQL數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:

1、獲取數(shù)據(jù)文件:用戶將表結(jié)構(gòu)文件及表數(shù)據(jù)文件(.ibd)發(fā)送給數(shù)據(jù)恢復(fù)工程師

2、使用北亞開發(fā)的MySQL數(shù)據(jù)庫數(shù)據(jù)恢復(fù)工具進(jìn)行恢復(fù):

pYYBAGOQDPmATZsSAADLL1Vz3ew314.png

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

poYBAGOQDPmABUhuAAF0QzeSrb8033.png

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

3、用戶提供了表結(jié)構(gòu)腳本,可以使用工具中的5+3功能進(jìn)行恢復(fù)。

4、讀取表結(jié)構(gòu)信息:

pYYBAGOQDQKAS3XmAADAaNpkoJc086.png

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

poYBAGOQDQKAQoRWAAHpHMHBzIM836.png

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

5、解析記錄:

pYYBAGOQDQqAIQB5AAEsVV_GwhQ163.png

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

6、本工具默認(rèn)將記錄提取為SQL備份格式,等待解析完畢后將SQL備份格式的記錄還原到數(shù)據(jù)庫,查看結(jié)果:

pYYBAGOQDROARtodAAOmjOND_dc066.png

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

7、由用戶隨機(jī)挑選表內(nèi)數(shù)據(jù)進(jìn)行驗(yàn)證,并統(tǒng)計恢復(fù)記錄總數(shù)。驗(yàn)證結(jié)果正確,總數(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

    文章

    573

    瀏覽量

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

    關(guān)注

    7

    文章

    3800

    瀏覽量

    64402
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    811

    瀏覽量

    26580
收藏 人收藏

    評論

    相關(guān)推薦

    Mysql如何快速回滾被刪除數(shù)據(jù)

    數(shù)據(jù)庫操作中,難免會因?yàn)楦鞣N各樣的原因?qū)?b class='flag-5'>數(shù)據(jù)造成損壞,這個時候就需要對數(shù)據(jù)庫快速恢復(fù)。傳統(tǒng)的方法會先恢復(fù)
    的頭像 發(fā)表于 07-29 18:27 ?5281次閱讀
    <b class='flag-5'>Mysql</b>如何快速回滾被<b class='flag-5'>刪除</b>的<b class='flag-5'>數(shù)據(jù)</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)-Oracle數(shù)據(jù)庫文件出現(xiàn)壞塊的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯:“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。 北亞企安數(shù)據(jù)恢復(fù)工程師檢測
    的頭像 發(fā)表于 07-18 15:10 ?707次閱讀
    <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>文件出現(xiàn)壞塊的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)-Syabse數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫恢復(fù)環(huán)境: Sybase版本:SQL Anywhere 8.0。 數(shù)據(jù)庫故障: 數(shù)據(jù)庫所在的設(shè)備意外斷電后,數(shù)據(jù)庫無法啟動。
    的頭像 發(fā)表于 07-28 14:38 ?1272次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>-Syabse<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ù)-Oracle ASM故障數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: Oracle數(shù)據(jù)庫ASM磁盤組有4塊成員盤。 數(shù)據(jù)庫故障&分析: Oracle
    的頭像 發(fā)表于 08-11 15:27 ?1316次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>-Oracle ASM故障<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)-數(shù)據(jù)庫文件被刪除/分區(qū)被格式化的SQL SERVER數(shù)據(jù)恢復(fù)方案

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)-數(shù)據(jù)庫文件被刪除/分區(qū)被格式化的SQL SERVER數(shù)據(jù)
    的頭像 發(fā)表于 09-21 14:34 ?839次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)-oracle數(shù)據(jù)庫報錯無法打開的數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺服務(wù)器,底層由12塊硬盤組成一組磁盤陣列,上層操作系統(tǒng)上運(yùn)行oracle數(shù)據(jù)庫。 oracle數(shù)據(jù)庫
    的頭像 發(fā)表于 10-12 14:00 ?854次閱讀

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

    binlog。 數(shù)據(jù)庫故障&分析: 工作人員在執(zhí)行Delete命令刪除數(shù)據(jù)時未添加where子句進(jìn)行篩選,導(dǎo)致全表數(shù)據(jù)刪除,
    的頭像 發(fā)表于 11-09 15:16 ?1337次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>MySQL</b><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>案例

    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 ?1129次閱讀
    <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ù)—未開啟binlog的Mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    。 mysql數(shù)據(jù)庫故障: 工作人員使用Delete命令刪除數(shù)據(jù)時未添加where子句進(jìn)行篩選,導(dǎo)致全表數(shù)據(jù)
    的頭像 發(fā)表于 12-08 14:18 ?1140次閱讀
    <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>案例

    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 ?529次閱讀

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

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

    數(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 ?351次閱讀
    <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>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

    試圖恢復(fù)數(shù)據(jù)庫,發(fā)現(xiàn)有數(shù)個ndf文件大小變?yōu)?KB。 雖然NDF文件大小變?yōu)?KB,但是NDF文件在磁盤上還可能存在??梢試L試通過掃描&拼接數(shù)據(jù)庫碎片來恢復(fù)NDF文件,然后修復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 10-31 13:21 ?228次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—通過拼接<b class='flag-5'>數(shù)據(jù)庫</b>碎片<b class='flag-5'>恢復(fù)</b>SQLserver<b class='flag-5'>數(shù)據(jù)庫</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進(jìn)行查詢等操作;2、使用my
    的頭像 發(fā)表于 12-09 11:05 ?155次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、
    的頭像 發(fā)表于 12-16 11:05 ?160次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<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>流程