【資料庫資料恢復】無法啟動MongoDB服務的資料恢復案例

北亞資料恢復發表於2022-12-06

關於MongoDB資料庫:


MongoDB資料庫儲存方式是將文件儲存在集合之中,而不是像Oracle、MySQL一樣的關係型資料庫。


MongoDB資料庫是開源資料庫,也提供具有附加功能的商業版本。


MongoDB中的資料是以鍵值對(key-value pairs)的形式顯示的,資料庫受到的約束更少。對於具有快速增長或其他變化需

求的資料來說,使用MongoDB資料庫是非常有利的。如下圖所示,MongoDB資料庫提供了預定義結構,使用者可以按需採

用MongoDB資料庫預定義的結構。


MongoDB資料庫包含了以“順次存放”的方式填充的文件集合,這些文件本身包含了各種欄位和資訊型別,能夠儲存的內

容和資料量是極其豐富的。


MongoDB資料庫的安全特性:基於角色的訪問控制、身份驗證、授權和稽核、安全傳輸層(TLS)和SSL協議等。


作為文件資料庫,MongoDB資料庫並不限制儲存資料的體量和型別,因此適合大資料的應用環境,適合基於雲的服務。得

益於水平可擴充套件能力、與雲服務的敏捷性結合,MongoDB資料庫不但能夠減少開發者的工作量,簡化業務與專案的擴充套件流

程,還能夠提供高可用性和資料的快速恢復。不過,MongoDB在資料的可靠性、一致性、以及安全性等方面不如MySQL。


MongoDB資料庫資料恢復案例:


MongoDB資料庫故障&初檢:


某公司一臺MongoDB資料庫由於業務需要進行資料遷移,遷移後出現錯誤提示:“Windows無法啟動MongoDB服務(位

於 本地計算機 上)錯誤1067:程式意外終止。”



北亞資料恢復工程師檢查了故障MongoDB資料庫環境及底層資料,發現故障MongoDB資料庫在遷移過程中丟失

了_mdb_catalog.wt檔案,所以啟動資料庫報錯。


MongoDB資料庫資料恢復過程:


1、恢復MongoDB資料庫丟失的資料需要在底層資料中找到丟失的_mdb_catalog.wt檔案,對底層資料進行多次掃描後發

現該檔案已經被覆蓋。

2、資料恢復工程師調整資料恢復方法,由於故障MongoDB資料庫是基於WiredTiger儲存引擎的,資料恢復工程師在

Windows環境下編譯出可執行的wt工具。



3、藉助編譯後的wt工具對故障MongoDB資料庫集合檔案內所有資料清洗回寫,讀取資料結果並寫入到檔案中。

4、建立一個全新的MongoDB資料庫,建立相應資料量的集合,將檔案逐一寫入集合中,查詢資料集並重建索引資訊。

5、透過查詢集合中的記錄,確定記錄型別,重建集合索引,集合恢復完成,可以正常檢視其中資料。




6、協助使用者對全部集合進行索引重建之後,使用者對資料庫整體進行查詢驗證,發現資料無誤,此次資料恢復完成。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2926903/,如需轉載,請註明出處,否則將追究法律責任。

相關文章