mongod.lock不是一个零字节文件,但mongod无论如何都开始了

时间:2015-12-27 13:34:57

标签: mongodb crash locking

我正在使用在本地计算机上运行的MongoDB的单个实例,并希望编写一个自动修复例程,因为数据库将与我正在处理的用户应用程序捆绑在一起。

docs表示有一个mongod.lock文件,表明需要修复数据库:

  

如果dbPath指定的数据目录中的mongod.lock文件,   /data/db默认情况下,不是一个零字节文件,然后mongod会拒绝   开始,[...]

我的mogod进程就像魅力一样开始,但我的修复例程告诉我需要修复数据库。修复例程只是查找mongod.lock的文件大小为5个字节,cat mongod.lock给出了以下内容:

  

9817

所以根据上面的文档引用,我想知道即使mongod.lock文件肯定是而不是一个零字节文件,MongoDB怎么能开始呢。

1 个答案:

答案 0 :(得分:3)

该文档涉及在没有日记的情况下运行Mongo的情况。如果你有日记,那么Mongo将尝试自我修复。 您在.lock文件中看到的数字是进程ID。如果进程没有运行,那么端口可能没有被使用,如果数据文件没有损坏,Mongo可能会成功重启进程。