天天看點

「伺服器資料恢複」雲伺服器mysql表被truncate的資料恢複案例

作者:北亞資料恢複中心

雲伺服器特點:

1、雲伺服器不需要購買硬體裝置,使用者按照業務需求支付一定的費用購買相應的硬軟體資源。雲伺服器提供商的資料中心不僅提供硬體/軟體環境,還提供咨詢服務。

2、雲伺服器可以充分利用資源,根據業務需求随時調整硬軟體資源,避免老舊裝置的淘汰和購買新裝置/部署軟體的所耗費的時間和成本。

3、雲伺服器提供商有專業的技術人員對伺服器進行維護,節約伺服器的搭建維護成本,可以讓使用者将更多資源投入到自身的核心業務中。

「伺服器資料恢複」雲伺服器mysql表被truncate的資料恢複案例

北亞資料恢複——雲伺服器資料恢複

雲伺服器資料恢複案例:

雲伺服器資料恢複環境:

某雲ECS網站伺服器,linux作業系統,mysql資料庫。

雲伺服器故障情況:

在執行mysql資料庫版本更新測試時,将本應在測試庫執行的sql腳本錯誤地在生産庫中執行,部分表被truncate,部分表内的少量資料被delete。該執行個體内資料表均采用innodb作為預設存儲引擎。

雲伺服器資料恢複流程:

1、由于使用者的ECS内有其他業務在運作,為保證被truncate表的底層資料不被破壞,北亞資料恢複工程師首先将mysql的data目錄所在分區備份。

2、由于使用者需要恢複的12個表内不存在大字段類型值和myisam引擎表,為節約資料傳輸時間,北亞資料恢複工程師利用工具掃描資料段并下載下傳擷取恢複資料所必需的資料庫段碎片。使用innodb引擎的mysql資料庫恢複資料必須依賴表結構資訊,mysql的表結構資訊存儲于對應表名的.frm檔案内。本案例中.frm檔案完好可直接使用。下載下傳需要恢複的表對應的.frm檔案。

「伺服器資料恢複」雲伺服器mysql表被truncate的資料恢複案例

北亞資料恢複——雲伺服器資料恢複

3、分析系統表,讀取資料段内的系統表資訊,擷取需要恢複的12個表在系統表内的注冊資訊。

4、在下載下傳完成的資料段檔案内提取對應于各表的資料頁,解析對應表的.frm檔案擷取到該表的表結構資訊,通過表結構資訊擷取到底層資料配置設定規則,按照規則拆分資料段内二進制資料并對不同類型資料進行字元展示轉換(各類整形、浮點型、時間型等),完成資料段到sql語句的轉換。

5、恢複被delete資料的表,基本流程和恢複truncate表的流程類似,不同點在于資料解析時需要提取被标注為“delete”的記錄。

6、根據解析出的表結構資訊在恢複環境中的mysql執行個體中建立表,并将恢複出的資料導入。

7、由于直接從底層抓取出的記錄可能存在主鍵不唯一(引擎在存儲時産生的臨時記錄)和記錄重複(緩沖段)以及亂碼(掃描資料段時出現特征值比對成功但不屬于該表的資料段)等情況,北亞資料恢複工程師對提取出的記錄異常進行人工處理。

8、資料驗證。開啟遠端桌面,由使用者親自驗證看資料是否正确、資料量是否正常。經過使用者驗證,truncate表和delete記錄的表都完整恢複。

「伺服器資料恢複」雲伺服器mysql表被truncate的資料恢複案例

繼續閱讀