云服務器數據恢復環境:
華為ECS云服務器,linux操作系統,mysql數據庫(innodb引擎)。作為網站服務器使用。
云服務器故障:
在執行mysql數據庫版本更新測試時,誤將本應該在測試庫上執行的sql腳本執行在生產庫上了,生產庫上的部分表被truncate,部分表內有少量數據被delete。
需要恢復被truncate的表以及被少量數據被delete的表。
云服務器數據恢復過程:
1、ECS云服務器內有其他業務仍在運行,先對mysql數據庫的data目錄所在分區進行備份。
北亞企安數據恢復——ECS云服務器數據恢復
2、由于需要恢復的表內不存在大字段類型值,也沒有myisam引擎的表需要恢復,所以只需要掃描數據段并下載恢復數據所必需的數據庫段碎片即可。innodb引擎的mysql數據庫表的數據恢復必須依賴表結構信息,mysql的表結構信息存儲于對應表名的.frm文件內。本案例mysql數據庫中的.frm文件完好,直接下載需要恢復的表對應的.frm文件。
北亞企安數據恢復——ECS云服務器數據恢復
3、分析系統表,讀取數據段內系統表信息,獲取需要恢復的表在系統表內的注冊信息。
4、在下載的數據段文件內提取對應于各表的數據頁,解析對應表的.frm文件獲取該表的表結構信息,通過表結構信息獲取底層數據分配規則。按照底層數據分配規則拆分數據段內二進制數據,針對不同類型進行字符展示轉換(各類整型、浮點型、時間型等),完成數據段到sql語句的轉換。
5、恢復被delete數據的表數據的流程同上一步恢復truncate表的流程類似,不同點在于解析數據時需要提取被標注為“delete”的記錄。
6、根據解析出的表結構信息在準備好的環境中的mysql實例內創建表,并將恢復出來的數據導入。
北亞企安數據恢復——ECS云服務器數據恢復
北亞企安數據恢復——ECS云服務器數據恢復
7、由于直接從底層抓取出的記錄可能存在主鍵不唯一(引擎在存儲時產生的臨時記錄)、記錄重復(緩沖段)以及亂碼(掃描數據段時出現特征值匹配成功但不屬于該表的數據段)等情況。北亞企安數據恢復工程師人工處理存在異常的提取記錄,直到所有數據都沒有問題。
8、交由用戶方工程師驗證數據。經過用戶方的多方驗證,確認被truncate的表完整恢復,被delete記錄的表中數據完整恢復。本次ECS云服務器數據恢復工作完成。
審核編輯 黃宇
-
華為
+關注
關注
218文章
36144瀏覽量
262555 -
服務器
+關注
關注
14文章
10328瀏覽量
91697 -
數據恢復
+關注
關注
10文章
722瀏覽量
19035 -
MySQL
+關注
關注
1文章
925瀏覽量
29715 -
云服務器
+關注
關注
0文章
839瀏覽量
14740
發布評論請先 登錄
【服務器數據恢復】從崩潰到重生:16盤服務器RAID與EXT4文件系統深度修復實錄
【服務器數據恢復】多盤掉線RAID6數據恢復:基于Reed-Solomon算法的修復
【服務器數據恢復】服務器raid5陣列raid模塊損壞的數據恢復案例
服務器數據恢復—意外斷電!Linux服務器數據恢復大揭秘
服務器數據恢復—RAIDZ多塊硬盤離線導致服務器崩潰的數據恢復案例
服務器數據恢復-華為ECS云服務器數據恢復案例
評論