1. 程式人生 > >簡述MySQL數據刪除恢復操作內容

簡述MySQL數據刪除恢復操作內容

ext 根據 流程 let .com 語言 實例 常用 b16

MySQL數據庫簡述:

在述寫本文之前,首先我們要簡單了解下MySQL數據庫:

MySQL是一種開放源代碼的關系型數據庫管理系統(RDBMS),MySQL數據庫系統使用最常用的數據庫管理語言--結構化查詢語言(SQL)進行數據庫管理。MySQL因為其速度、可靠性和適應性而備受關註。大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。

MySQL數據庫的故障原因:

再收到用戶的聯系後,經工程師和用戶溝通,我們了解到大體故障信息,用戶本地服務器操作系統為windows2008 r2 ,在當前環境內安裝有mysql5.6單實例,引擎類型為innodb,表內數據存儲所使用表空間類型為獨立表空間。未進行數據庫備份,未開啟binlog。由於人為誤操作使用Delete命令進行刪除數據時未添加where子句進行篩選導致全表數據被刪除,刪除後未對該表進行任何操作。

MySQL數據庫故障恢復方案:

針對以上問題,技術部門擬定了恢復方案,內容如下:

1、故障類型分類:在此次故障中,由於未對生產環境進行備份也未開啟binlog日誌,無法直接還原數據庫,屬於典型表內mysql-delete數據誤刪除。

2、故障分析與可行性方案制定:對於mysql innodb誤刪除導致記錄丟失的恢復方案有三種,分別是備份還原、binlog還原和記錄深度解析。對於此次故障前兩種方案不適用,只能使用記錄深度解析的方式進行恢復。此恢復方案恢復原理為模擬innodb引擎記錄管理方式,根據表結構信息將二進制文件解析為字符記錄。

MySQL數據庫的恢復流程:

1、獲取數據文件:用戶將表結構文件及表數據文件(.ibd)壓縮加密之後通過網絡傳輸給我們。

2、使用恢復工具進行恢復:
技術分享圖片
技術分享圖片
基於用戶提供了表結構腳本,可以使用本工具中的5+3功能進行恢復。
首先讀取表結構信息:
技術分享圖片
技術分享圖片
開始解析記錄:
技術分享圖片
本工具默認將記錄提取為SQL備份格式,等待解析完畢後還原到數據庫查看結果:
技術分享圖片
MySQL數據庫數據驗收結果:
隨機挑選表內數據交由用戶驗證,並統計恢復記錄總數。用戶驗證後表示樣例數據正確,總數符合原表內記錄條數,恢復成功,至此數據恢復工作結束。

簡述MySQL數據刪除恢復操作內容