數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境:
一臺(tái)本地windows sever操作系統(tǒng)服務(wù)器,服務(wù)器上部署mysql數(shù)據(jù)庫(kù)單實(shí)例,引擎類型為innodb,表內(nèi)數(shù)據(jù)存儲(chǔ)所使用表空間類型為獨(dú)立表空間。無(wú)數(shù)據(jù)庫(kù)備份,未開啟binlog。
數(shù)據(jù)庫(kù)故障&分析:
工作人員在執(zhí)行Delete命令刪除數(shù)據(jù)時(shí)未添加where子句進(jìn)行篩選,導(dǎo)致全表數(shù)據(jù)被刪除,刪除后未對(duì)該表進(jìn)行其他操作。
在本案例中,由于mysql數(shù)據(jù)庫(kù)沒有備份也未開啟binlog日志,無(wú)法直接還原數(shù)據(jù)庫(kù)。
針對(duì)引擎類型為innodb的mysql 數(shù)據(jù)庫(kù)誤刪除導(dǎo)致記錄丟失的數(shù)據(jù)恢復(fù)方案有三種:備份還原、binlog還原和記錄深度解析還原。對(duì)于本案例來(lái)說(shuō)前兩種方案不適用,只能使用記錄深度解析的方案恢復(fù)刪除的數(shù)據(jù)。此方案原理:模擬innodb引擎記錄管理方式,根據(jù)表結(jié)構(gòu)信息將二進(jìn)制文件解析為字符記錄。
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)流程:
1、用戶方將表結(jié)構(gòu)文件及表數(shù)據(jù)文件(.ibd)發(fā)送給數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)工程師。
2、北亞企安數(shù)據(jù)恢復(fù)工程師團(tuán)隊(duì)針對(duì)此類mysql數(shù)據(jù)庫(kù)(innodb引擎,無(wú)備份,binlog未開啟)誤刪除故障進(jìn)行過(guò)深入研究,開發(fā)了針對(duì)此類故障的mysql數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)工具。使用這個(gè)北亞企安自主研發(fā)的mysql數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)工具來(lái)恢復(fù)數(shù)據(jù)。
北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)
北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)
本案例中用戶方提供了表結(jié)構(gòu)腳本,使用數(shù)據(jù)恢復(fù)工具中的5+3功能進(jìn)行恢復(fù)。
讀取表結(jié)構(gòu)信息:
北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)
北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)
解析記錄:
北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)
本數(shù)據(jù)恢復(fù)工具默認(rèn)將記錄提取為SQL備份格式,解析完成后還原到數(shù)據(jù)庫(kù)并查看結(jié)果:
北亞企安數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)恢復(fù)
3、隨機(jī)挑選表內(nèi)數(shù)據(jù)交由用戶方驗(yàn)證,并統(tǒng)計(jì)恢復(fù)記錄總數(shù)。用戶方經(jīng)過(guò)跨部門多方驗(yàn)證后確認(rèn)恢復(fù)數(shù)據(jù)完整正確,總記錄數(shù)符合原表內(nèi)記錄條數(shù)。本次數(shù)據(jù)恢復(fù)工作成功。
審核編輯 黃宇
-
數(shù)據(jù)恢復(fù)
+關(guān)注
關(guān)注
10文章
585瀏覽量
17584 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3845瀏覽量
64594 -
MySQL
+關(guān)注
關(guān)注
1文章
829瀏覽量
26675
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論