【數據庫數據恢復】MySQL數據庫簡介及數據恢復案例

MySQL數據庫屬于關系型數據庫。SQL是一種用于操作關系型數據庫的結構化語言。關系型數據庫就是指在關系模型的基礎上建立起來的數據庫,是一種借助了集合代數等一些數學方法和數學概念處理數據的數據庫。
MySQL數據庫具有體積小,速度快,性價比高、開源、廣泛支持各種主流操作系統(tǒng)的優(yōu)勢,被大中小型企業(yè)廣泛使用。
MySQL數據庫數據恢復環(huán)境:
本地服務器,操作系統(tǒng)為windows server;
部署mysql單實例,引擎類型為innodb,表空間類型為獨立表空間;
沒有數據庫備份,未開啟binlog。
MySQL數據庫故障:
用戶使用Delete命令刪除數據時未添加where子句進行篩選,導致全表數據被刪除,刪除后再未對該表做任何操作。
MySQL數據庫恢復方案:
1、本案例中MySQL數據庫沒有備份也未開啟binlog日志,無法直接還原數據庫,屬于典型的表內mysql數據庫誤刪除故障。
2、針對mysql(innodb引擎)誤刪除的數據恢復方案有三種:備份還原、binlog還原和記錄深度解析。前兩種方案不適用本案例情況,只能使用第三種-記錄深度解析的方案恢復MySQL數據庫數據。此方案原理:模擬innodb引擎記錄管理方式,根據表結構信息將二進制文件解析為字符記錄。
MySQL數據庫數據恢復過程:
1、獲取數據文件:用戶將表結構文件及表數據文件(.ibd)發(fā)送給數據恢復工程師。
2、使用北亞開發(fā)的MySQL數據庫數據恢復工具進行恢復:


3、用戶提供了表結構腳本,可以使用工具中的5+3功能進行恢復。
4、讀取表結構信息:


5、解析記錄:

6、本工具默認將記錄提取為SQL備份格式,等待解析完畢后將SQL備份格式的記錄還原到數據庫,查看結果:

7、由用戶隨機挑選表內數據進行驗證,并統(tǒng)計恢復記錄總數。驗證結果正確,總數符合原表內記錄條數,數據恢復完成。