簡體   English   中英

用--nojournal選項啟動mongod會刪除現有的日志文件嗎?

[英]Starting mongod with --nojournal option deletes existing journal files?

我的MongoDB因嘗試附加到日志文件時發生的內存不足錯誤而崩潰。 在那種情況下,我的mongod.lock文件為空。 我重新啟動了mongod,沒有任何選擇。 它正常地接受連接。 然后我運行mongo.exe,但無法連接到數據庫。 它陷入了“連接測試”的困境,但從未成功連接。

我結束了該過程,並使用--nojournal選項重新啟動了mongod。 但這也沒有幫助。

但是現在我看到mongod.lock文件不為空。 另外,我的所有日​​記帳分錄都被刪除了。

問題是,--noJournal選項是否刪除現有日記帳分錄? 另外,有沒有辦法恢復日記帳分錄?

崩潰后恢復

首先,請閱讀這篇文章:

意外關閉后恢復數據

發生崩潰后,您有兩種選擇:

  • 如果是獨立實例,請使用--repair選項運行mongod
  • 如果實例是副本集的一部分,請擦除所有數據,然后從備份還原或從另一個副本集成員執行初始同步。

--nojournal選項

運行mongod --nojournal 不會刪除日志文件。 實際上,如果存在日志文件, mongod甚至不會啟動。 它會給您以下消息並關閉。

Error: journal files are present in journal directory, yet starting without journaling enabled.
It is recommended that you start with journaling enabled so that recovery may occur.
exception in initAndListen: 13597 can't start without --journal enabled when journal/ files are present, terminating

如果隨后運行不帶--nojournal選項的mongod ,它將應用保存在日志文件中的所有更改並刪除這些文件。 只有這樣,您才能使用--nojournal重新啟動它。

我相信這就是您的情況。 您無需嘗試還原日志文件,因為它們已經應用於數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM