[英]Starting mongod with --nojournal option deletes existing journal files?
我的MongoDB因尝试附加到日志文件时发生的内存不足错误而崩溃。 在那种情况下,我的mongod.lock文件为空。 我重新启动了mongod,没有任何选择。 它正常地接受连接。 然后我运行mongo.exe,但无法连接到数据库。 它陷入了“连接测试”的困境,但从未成功连接。
我结束了该过程,并使用--nojournal选项重新启动了mongod。 但这也没有帮助。
但是现在我看到mongod.lock文件不为空。 另外,我的所有日记帐分录都被删除了。
问题是,--noJournal选项是否删除现有日记帐分录? 另外,有没有办法恢复日记帐分录?
首先,请阅读这篇文章:
发生崩溃后,您有两种选择:
--repair
选项运行mongod
; 运行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.