簡述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數據刪除恢復操作內容