我是Mongodb的新手。当我运行以下命令时:
sudo service mongodb start
它显示“mongodb开始/运行,过程3566”。但是当我尝试通过给出以下命令来停止时:
sudo service mongodb stop
显示停止:未知实例:。有人知道如何解决这个问题。
如果我给 sudo service mongodb restart ,我收到以下消息:
stop: Unknown instance:
mongodb start/running, process 3644
PS:如果我只使用 mongod ,我可以启动服务器并通过提供 mongo 连接mongo shell。
请建议我如何解决问题以及如何在提供 service mongodb start 后连接mongo shell。提前谢谢。
答案 0 :(得分:16)
我刚碰到这个。 机密是你的conf文件中的问题(显然,因为你重新安装了种子)
在mongodb.conf中,如果将其作为服务调用,则不要设置fork = true。这将阻止服务调用通过服务mongodb.conf status / stop / restart访问它。
删除fork = True行会缓解此问题。
见评论;使用其他解决方案,即使这个被接受。
答案 1 :(得分:12)
您收到Unknown instance
错误的原因是因为upstart
正在跟踪分叉PID
进程实例的错误mongod
。但正确的解决办法是不通过从@GoingTharn建议的配置中删除fork=true
行来处理前台进程,而是帮助upstart
捕获分叉进程的正确PID
通过添加
expect daemon
到/etc/init/mongodb.conf
答案 2 :(得分:2)
我遇到了完全相同的问题并做了以下事情:
mongo --repair
这解决了这个问题。可能会注意到,在出现此问题之前,我遇到了系统崩溃。因此,我认为,问题是由于服务器恶魔的不洁关闭造成的。
如果您不确定原因,您可能希望查看日志文件(在我的情况下,我在/ var / log / mongodb /下找到它)。这可能会给你一些有用的提示。
感谢。
答案 3 :(得分:2)
我面对的就像你一样。也许是因为我的计算机意外崩溃了。我使用命令:sudo top
(ubuntu),我发现mongo正在运行。我杀了它并启动mongo.Every thing right right
答案 4 :(得分:-2)
我自己修理了它。以下是我的所作所为:
apt-get install mongodb
覆盖.conf文件。之后一切正常。我希望这会对某人有所帮助。