0

在我运行 mongorestore 后,mongo 服务无法自动启动,但是如果我打开终端并运行 mongod,则服务运行良好。如果我关闭我得到的终端。有什么建议么?

错误:无法连接到服务器 127.0.0.1 shell/mongo.js:79

当我运行 mongod 时,我得到:

MongoDB 开始:pid=1875 port=27017 dbpath=/data/db/ 64-bit Thu Jul 25 12:16:40 [initandlisten] db version v1.8.2, pdfile version 4.5 Thu Jul 25 12:16:40 [initandlisten] git 版本:nogitversion Thu Jul 25 12:16:40 [initandlisten] build sys info: Linux allspice 2.6.24-28-server #1 SMP Wed Aug 18 21:17:51 UTC 2010 x86_64 BOOST_LIB_VERSION=1_46_1 Thu Jul 25 12: 16:40 [initandlisten] *警告:spider monkey build 不支持 utf8。考虑使用 utf8 支持重建 Thu Jul 25 12:16:40 [initandlisten] 等待端口 27017 上的连接 Thu Jul 25 12:16:40 [websvr] web 管理界面侦听端口 28017 Thu Jul 25 12:17:05 [initandlisten ] 从 127.0.0.1:38257 #1 接受的连接

4

3 回答 3

3

好吧,没有太多信息可以继续,但通常的检查清单是:

  • 检查 mongodb 的日志,看看它是否报告了任何奇怪的东西(比如启动失败或关闭时应该没有)。
  • 确保 mongodb 实际上被安排为自动启动 - 如果不是,它没有运行也就不足为奇了。
  • 编辑:我忘了提到 MongoDB 锁定文件,但我看到你已经涵盖了。

如果它打算运行但没有并且没有记录任何内容,则表明它在您的计算机启动后的某个时间被关闭并且您需要重新启动它。

调用mongod会启动服务器,但不是在守护程序模式下 - 终止运行它的 shell 将终止该进程。我确信有大量关于以守护程序模式启动 MongoDB 的文档。

于 2013-07-25T12:32:13.967 回答
1

好吧,没有人知道该怎么做,所以解决方案是 chown -R mongodb /data/db 这是一个所有权问题,谢谢大家

于 2013-07-26T11:45:55.480 回答
0

好吧,那可能是因为您在 systemd/ 中创建了 mongod.service 文件而不是 mongo.service 文件。因此,它将其读取为命令并充当服务启动命令。我的回答是基于你的问题标题

于 2017-10-07T06:13:40.737 回答