華爲雲服務器mysql數據恢復過程

服務器數據恢復環境部署及故障原因:

·
華爲雲ECS網站服務器,服務器採用linux操作系統,數據庫版本號5.6,。
在執行數據庫版本更新測試時,錯誤地將本應在測試庫執行的sql腳本執行於生產庫,導致部分表被truncate,
另有部分表內少量數據被delete。該實例內數據表均採用innodb作爲默認存儲引擎。
·

數據恢復需求:

·

恢復被truncat的8個表以及被少量數據被delete的4個表。
·

服務器數據恢復流程:

·
1.分區備份

由於客戶ECS內有其他業務仍在運行,
爲保證被truncate表底層數據不被破壞首先對mysql的data目錄所在分區進行備份。
華爲雲服務器mysql數據恢復過程
·
2.獲取數據庫碎片
·
由於客戶需要恢復的12個表內不存在大字段類型值和myisam引擎表,
爲節約數據傳輸時間,通過掃描數據段並下載獲取恢復所必須的數據庫段碎片。
另外innodb引擎數據恢復必須依賴表結構信息,mysql的表結構信息存儲於對應表名的.frm文件內。
在本恢復案例中frm文件完好,可直接使用。下載需要恢復的表對應的frm文件。
華爲雲服務器mysql數據恢復過程
·
3.分析系統表。
·
讀取數據段內系統表信息,獲取需要恢復的12個表在系統表內的註冊信息。
·
4.恢復被truncate的表。
·
在下載完成的數據段文件內提取對應於各表的數據頁,
解析對應表的frm文件獲取到該表的表結構信息。
通過表結構信息獲取到底層數據分配規則後。
·
5.恢復被delete數據的表,
·
基本流程同truncate表的恢復,
不同點在於數據解析時需要提取被標註爲“delete”的記錄。
·
6.數據還原。
·
根據解析出的表結構信息在恢復環境中的mysql實例內創建表,
並將恢復出的數據導入
華爲雲服務器mysql數據恢復過程

·
7.數據清洗。
·
由於直接從底層抓取出的記錄可能存在主鍵不唯一和記錄重複以及亂碼等情況,
提取出的記錄可能存在異常需要進行人工處理。
·
8.數據驗證。
·
開啓遠程桌面,由客戶進行數據驗證是否正確、數據量是否正常。
經過客戶驗證,truncate表恢復完整,delete記錄的表恢復完整,數據恢復流程完畢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章