停止:未知实例mongodb(Ubuntu)

我是Mongodb的新手。 当我运行以下命令:

sudo service mongodb start 

它显示我“mongodb启动/运行,过程3566” 。 但是当我试图停止通过下面的命令:

 sudo service mongodb stop 

它显示停止:未知实例: 。 有谁知道如何解决这个问题。

如果我给sudo服务mongodb重新启动 ,我收到以下消息:

 stop: Unknown instance: mongodb start/running, process 3644 

PS:如果我只使用mongod ,我可以启动服务器,并可以通过给mongo连接mongo shell。

请build议我如何解决这个问题,以及如何在给予服务mongodb启动后连接mongo shell。 提前致谢。

我刚碰到这个 机会是问题是在你的conf文件(显然,因为你重新安装种子)

在mongodb.conf中,如果将其作为服务调用,则不要设置fork = true。 这将阻止服务调用通过服务mongodb.conf status / stop / restart访问它。

删除叉= True行,但是,将缓解这个问题。

看评论; 使用其他解决方案即使这个被接受。

你得到Unknown instance错误的原因是因为upstart正在追踪分叉mongod进程实例的错误PID 。 但正确的解决方案是不运行在前台进程通过从配置中删除fork=true行,如@GoingTharn建议,而是帮助启动捕捉分叉进程的正确的PID通过添加

 expect daemon 

/etc/init/mongodb.conf

可能是因为我的电脑意外崩溃。我使用命令: sudo top (ubuntu),我发现mongo正在运行。我杀了它并启动了mongo。所有的事情都转向了正确的方向。

我面对完全相同的问题,做了以下事情:

  • 删除了文件mongod.lock(在我的情况下,这个文件位于/ var / lib / mongodb /)
  • 从我的mongo客户端使用以下命令

蒙戈 – 修复

这解决了这个问题。 可能会注意到,在出现这个问题之前,系统崩溃了。 所以,我相信,这个问题是由于服务器恶魔关闭不洁造成的。

如果你不确定的原因,你可能希望看看日志文件(在我的情况下,我发现它在/ var / log / mongodb /下)。 这可能会给你一些有用的提示。

谢谢。

我自己修好了 以下是我所做的:

  apt-get install mongodb 

并覆盖.conf文件。 之后,一切正常。 我希望这会帮助别人。