0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【數(shù)據(jù)庫數(shù)據(jù)恢復(fù)】MongoDB數(shù)據(jù)庫數(shù)據(jù)遷移報錯的數(shù)據(jù)恢復(fù)案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2022-12-06 11:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于MongoDB數(shù)據(jù)庫:

MongoDB數(shù)據(jù)庫存儲方式是將文檔存儲在集合之中,而不是像Oracle、MySQL一樣的關(guān)系型數(shù)據(jù)庫。

MongoDB數(shù)據(jù)庫是開源數(shù)據(jù)庫,也提供具有附加功能的商業(yè)版本。

MongoDB中的數(shù)據(jù)是以鍵值對(key-value pairs)的形式顯示的,數(shù)據(jù)庫受到的約束更少。對于具有快速增長或其他變化需求的數(shù)據(jù)來說,使用MongoDB數(shù)據(jù)庫是非常有利的。如下圖所示,MongoDB數(shù)據(jù)庫提供了預(yù)定義結(jié)構(gòu),用戶可以按需采用MongoDB數(shù)據(jù)庫預(yù)定義的結(jié)構(gòu)。

MongoDB數(shù)據(jù)庫包含了以“順次存放”的方式填充的文檔集合,這些文檔本身包含了各種字段和信息類型,能夠存儲的內(nèi)容和數(shù)據(jù)量是極其豐富的。

MongoDB數(shù)據(jù)庫的安全特性:基于角色的訪問控制、身份驗證、授權(quán)和審核、安全傳輸層(TLS)和SSL協(xié)議等。

作為文檔數(shù)據(jù)庫,MongoDB數(shù)據(jù)庫并不限制存儲數(shù)據(jù)的體量和類型,因此適合大數(shù)據(jù)的應(yīng)用環(huán)境,適合基于云的服務(wù)。得益于水平可擴展能力、與云服務(wù)的敏捷性結(jié)合,MongoDB數(shù)據(jù)庫不但能夠減少開發(fā)者的工作量,簡化業(yè)務(wù)與項目的擴展流程,還能夠提供高可用性和數(shù)據(jù)的快速恢復(fù)。不過,MongoDB在數(shù)據(jù)的可靠性、一致性、以及安全性等方面不如MySQL。

MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例:

MongoDB數(shù)據(jù)庫故障&初檢:
某公司一臺MongoDB數(shù)據(jù)庫由于業(yè)務(wù)需要進行數(shù)據(jù)遷移,遷移后出現(xiàn)錯誤提示:“Windows無法啟動MongoDB服務(wù)(位于 本地計算機 上)錯誤1067:進程意外終止。”

poYBAGOOusCASpg5AASwQOzxuZM932.png

北亞數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

北亞數(shù)據(jù)恢復(fù)工程師檢查了故障MongoDB數(shù)據(jù)庫環(huán)境及底層數(shù)據(jù),發(fā)現(xiàn)故障MongoDB數(shù)據(jù)庫在遷移過程中丟失了_mdb_catalog.wt文件,所以啟動數(shù)據(jù)庫報錯。

MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)過程:
1、恢復(fù)MongoDB數(shù)據(jù)庫丟失的數(shù)據(jù)需要在底層數(shù)據(jù)中找到丟失的_mdb_catalog.wt文件,對底層數(shù)據(jù)進行多次掃描后發(fā)現(xiàn)該文件已經(jīng)被覆蓋。
2、數(shù)據(jù)恢復(fù)工程師調(diào)整數(shù)據(jù)恢復(fù)方法,由于故障MongoDB數(shù)據(jù)庫是基于WiredTiger存儲引擎的,數(shù)據(jù)恢復(fù)工程師在Windows環(huán)境下編譯出可執(zhí)行的wt工具。

poYBAGOOus-AIZBXAAENkCcGnCQ480.png

北亞數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

3、借助編譯后的wt工具對故障MongoDB數(shù)據(jù)庫集合文件內(nèi)所有數(shù)據(jù)清洗回寫,讀取數(shù)據(jù)結(jié)果并寫入到文件中。
4、創(chuàng)建一個全新的MongoDB數(shù)據(jù)庫,創(chuàng)建相應(yīng)數(shù)據(jù)量的集合,將文件逐一寫入集合中,查詢數(shù)據(jù)集并重建索引信息。
5、通過查詢集合中的記錄,確定記錄類型,重建集合索引,集合恢復(fù)完成,可以正常查看其中數(shù)據(jù)。

pYYBAGOOutyACWN2AAEsnCi1zbY454.png

北亞數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

pYYBAGOOutuAUMODAAGsi31TYaI791.png

北亞數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)

6、協(xié)助用戶對全部集合進行索引重建之后,用戶對數(shù)據(jù)庫整體進行查詢驗證,發(fā)現(xiàn)數(shù)據(jù)無誤,此次數(shù)據(jù)恢復(fù)完成。

審核編輯黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)恢復(fù)

    關(guān)注

    10

    文章

    645

    瀏覽量

    18073
  • mongodb
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    453
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。 數(shù)據(jù)庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?27次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>被加密如何<b class='flag-5'>恢復(fù)數(shù)據(jù)</b>?

    oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    報錯等。下面和大家分享一例oracle數(shù)據(jù)庫誤執(zhí)行truncate命令導(dǎo)致數(shù)據(jù)丟失的數(shù)據(jù)庫數(shù)據(jù)恢復(fù)
    的頭像 發(fā)表于 06-05 16:01 ?266次閱讀
    oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—oracle<b class='flag-5'>數(shù)據(jù)庫</b>誤執(zhí)行錯誤truncate命令如何<b class='flag-5'>恢復(fù)數(shù)據(jù)</b>?

    分布式存儲數(shù)據(jù)恢復(fù)—虛擬機上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    分布式存儲數(shù)據(jù)恢復(fù)環(huán)境: 16臺某品牌R730xd服務(wù)器節(jié)點,每臺服務(wù)器節(jié)點上有數(shù)臺虛擬機。 虛擬機上部署Hbase和Hive數(shù)據(jù)庫。 分布式存儲故障: 數(shù)據(jù)庫底層文件被誤
    的頭像 發(fā)表于 04-17 11:05 ?195次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺Windows Server操作系統(tǒng)虛擬機上部署MongoDB
    的頭像 發(fā)表于 04-09 11:34 ?261次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>——<b class='flag-5'>MongoDB</b><b class='flag-5'>數(shù)據(jù)庫</b>文件拷貝后服務(wù)無法啟動的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯誤 823”的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫附加數(shù)據(jù)庫過程中比較常見的報錯是“錯誤 823”,附加數(shù)據(jù)庫失敗。 如果數(shù)據(jù)庫有備份則只需還原備份即可。但是如果
    的頭像 發(fā)表于 02-28 11:38 ?433次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SQL Server附加<b class='flag-5'>數(shù)據(jù)庫</b>提示“錯誤 823”的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Windows無法啟動MongoDB服務(wù)的數(shù)據(jù)恢復(fù)案例

    某單位一臺MongoDB數(shù)據(jù)庫由于業(yè)務(wù)需求進行了數(shù)據(jù)遷移數(shù)據(jù)庫遷移后提示:“Windows無法
    的頭像 發(fā)表于 02-13 12:44 ?289次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Windows無法啟動<b class='flag-5'>MongoDB</b>服務(wù)的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    SqlServer數(shù)據(jù)恢復(fù)—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    一塊硬盤上存放的SqlServer數(shù)據(jù)庫,windows server操作系統(tǒng)+NTFS文件系統(tǒng)。由于誤操作導(dǎo)致分區(qū)損壞,需要恢復(fù)硬盤里的SqlServer數(shù)據(jù)庫數(shù)據(jù)。
    的頭像 發(fā)表于 01-09 11:15 ?393次閱讀
    SqlServer<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SqlServer<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、Mysql數(shù)據(jù)庫表中無任何數(shù)據(jù)或只有部分
    的頭像 發(fā)表于 12-16 11:05 ?562次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Mysql<b class='flag-5'>數(shù)據(jù)庫</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>流程

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

    試圖恢復(fù)數(shù)據(jù)庫,發(fā)現(xiàn)有數(shù)個ndf文件大小變?yōu)?KB。 雖然NDF文件大小變?yōu)?KB,但是NDF文件在磁盤上還可能存在??梢試L試通過掃描&拼接數(shù)據(jù)庫碎片來恢復(fù)NDF文件,然后修復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 10-31 13:21 ?650次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—通過拼接<b class='flag-5'>數(shù)據(jù)庫</b>碎片<b class='flag-5'>恢復(fù)</b>SQLserver<b class='flag-5'>數(shù)據(jù)庫</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle ASM實例無法掛載的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境&故障: Oracle ASM磁盤組由4塊磁盤組成。Oracle ASM磁盤組掉線 ,ASM實例不能mount。 Oracle數(shù)據(jù)庫故障分析&
    的頭像 發(fā)表于 10-28 11:26 ?421次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Oracle ASM實例無法掛載的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫打開報錯數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯,報錯信息:“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。急需
    的頭像 發(fā)表于 10-17 13:20 ?498次閱讀
    oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Oracle<b class='flag-5'>數(shù)據(jù)庫</b>打開<b class='flag-5'>報錯</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫報錯數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機房異常斷電后,Oracle數(shù)據(jù)庫報錯:“system01.dbf需要更多的恢復(fù)來保持一致性,
    的頭像 發(fā)表于 09-30 13:31 ?687次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—異常斷電后Oracle<b class='flag-5'>數(shù)據(jù)庫</b>啟<b class='flag-5'>庫</b><b class='flag-5'>報錯</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?927次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—Oracle<b class='flag-5'>數(shù)據(jù)庫</b>文件system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯誤823,附加數(shù)據(jù)庫失敗。數(shù)據(jù)庫沒有備份,無法通過備份恢復(fù)數(shù)據(jù)庫
    的頭像 發(fā)表于 09-20 11:46 ?666次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯誤的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫所在分區(qū)空間不足報錯數(shù)據(jù)恢復(fù)案例

    Server數(shù)據(jù)庫故障: 存放SQL Server數(shù)據(jù)庫的D盤分區(qū)容量不足,管理員在E盤中生成了一個.ndf的文件并且將數(shù)據(jù)庫路徑指向E盤繼續(xù)使用。數(shù)據(jù)庫繼續(xù)運行一段時間后出現(xiàn)故障
    的頭像 發(fā)表于 07-10 13:54 ?895次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品