mongodb 服务停止后不会重新启动

mongodb 服务停止后不会重新启动

目前我无法使用常规命令启动 mongodb sudo service mongodb start。当我这样做时,我得到如下信息:

mongodb start/running, process 23387

但是随后没有运行这样的进程,并且 mongodb 日志没有显示任何新内容。但是 mongodb 会在重启时启动,并且可以用 停止它sudo service mongodb stop

这带来的不便比游戏停止更严重,但我很好奇——到底发生了什么?

答案1

事实证明start-stop-daemon(由 init 脚本使用) 知道我从命令行运行的其他 mongodb 实例。当我停止这些实例时,我能够正常启动我的主 mongodb。

更持久的解决办法是告诉start-stop-daemon创建一个 pid 文件并在确定 mongodb 是否已在运行时检查它。使用我的默认 ubuntu 安装 (1:2.0.6-1ubuntu4),init 脚本仅检查 mongodb 可执行文件是否正在运行 (--exec /usr/bin/mongod在 中查找/etc/init/mongodb.conf)。

作为记录,此主题讨论这个问题,这个问题谈论一个类似的情况。

答案2

另一种可能性是;当我们使用安装和检查 monggodb 时sudo,mongodb 目录可能会错误地由“root”创建。

ll /var/lib/mongodb因此,使用和ll /var/log/mongodb命令检查目录。

如果所有者出现作为通过使用root改变所有者mongodbsudo chown mongodb:mongodb /var/lib/mongodb -R

我经历过!

相关内容