在fassert()失败后,MongoDB中止,mongod --repair不起作用

时间:2016-06-24 15:09:53

标签: mongodb

我刚刚从备份中重新安装了OSX,现在我无法让mongod工作了。我收到***aborting after fassert() failure错误。这是一个包含日志的粘贴框:http://pastebin.com/5WmXdGKd

如果我尝试运行sudo mongod --repair,我会收到同样的错误。我也尝试了这里提供的解决方案:https://stackoverflow.com/a/34946049/3923183,但在删除.sock文件后,没有任何改变。我找到的其他解决方案都没有任何帮助。

这是在我的本地计算机上,而不是服务器上,所以我没有丢失任何数据的问题。我可以轻松更换它。我尝试删除mongodb并重新安装,但问题仍然存在。非常感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:2)

您只需在配置文件中添加新的--dbpath,而无需重新安装mongodb。

答案 1 :(得分:0)

尝试增加您的ulimit并将所有权分配给“ mongodb”或“ mongod”的数据库路径,然后重新启动mongod,它对我有用。

转到/etc/security/limit.conf并添加以下行并保存文件,然后重新启动计算机以生效。

 * soft     nproc          200000
 * hard     nproc          200000
 * soft     nofile         200000
 * hard     nofile         200000
 * soft     memlock        2048
 * hard     memlock        2048

答案 2 :(得分:-2)

所以我只需移动/删除/data/db并从空的/data/db文件夹开始就可以解决我的问题。当然,这会删除所有数据库数据,因此它并不是解决问题的方法,只有在您不介意丢失数据时才应该这样做。