MongoDB:异常情况:连接失败,退出代码1。

4
在Ubuntu中安装了MongoDB之后,我尝试运行“mongo”,但它显示:
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1

我启用了mongod服务并启动了它,然后运行了以下命令:

sudo systemctl status mongod

并且IT说:

● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2020-09-17 00:23:08 +06; 8min ago
       Docs: https://docs.mongodb.org/manual
    Process: 45414 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, sta>
   Main PID: 45414 (code=exited, status=1/FAILURE)

Sep 17 00:23:08 john systemd[1]: Started MongoDB Database Server.
Sep 17 00:23:08 john mongod[45414]: about to fork child process, waiting until server is>
Sep 17 00:23:08 john mongod[45427]: forked process: 45428
Sep 17 00:23:08 john mongod[45414]: ERROR: child process failed, exited with error numbe>
Sep 17 00:23:08 john mongod[45414]: To see additional information in this output, start >
Sep 17 00:23:08 john systemd[1]: mongod.service: Main process exited, code=exited, statu>
Sep 17 00:23:08 john systemd[1]: mongod.service: Failed with result 'exit-code'.

我无法运行mongodb shell,应该怎么办?


1
在运行mongo之前,请尝试运行mongod。 - d1fficult
检查 /etc/mongod.conf 文件的权限 - 确保 mongod 用户可以读取它。然后确保 dbpath、logpath 和 pidfile 的位置存在,并且 mongod 用户可以写入它们。 - Joe
5个回答

1

我昨天遇到了这个问题,通过以下步骤解决:

  • 删除mongod.lock文件。
  • 运行配置fork命令。

删除.lock文件:

sudo rm /usr/local/var/mongodb/mongod.lock

运行:

mongod --config /usr/local/etc/mongod.conf --fork。

然后再使用mongo命令。


这在我的Mac上有效。 - Emmanuel Ndukwe

0

我也遇到了同样的错误,我认为这可能是由于我们电脑上的某些更新(例如.NET框架更新之类)导致的。

然后我卸载并重新安装了MongoDB,现在它可以正常工作了。


0

在你运行mongo之前,mongod需要先运行,否则会出现错误。

附带一提,这是对于其他遇到同样问题的人的答案。


0

你需要前往 /etc 目录下,修改 mongod.conf 文件,因为默认情况下 MongoDB 启动时 bindIp 被设置为 127.0.0.1,这会绑定到本地主机网络接口。这意味着 mongod 只能接受来自同一台机器上运行的客户端的连接。

然后可以使用 sudo nano mongod.conf 命令将 127.0.0.1 修改为 0.0.0.0。

修改完成后,必须重新启动 MongoDB。


0
  • 在根目录 C: 中创建一个名为 data 的文件夹。
  • 在 data 文件夹中创建另一个名为 db 的文件夹。
  • 现在在路径 C:\Program Files\MongoDB\Server\5.0\bin>mongo 中的 cmd 中运行 mongod 命令。
  • 不要关闭此命令提示符。
  • 在相同路径下打开另一个 cmd C:\ProgramFiles\MongoDB\Server\5.0\bin>mongo
  • 运行mongo命令。

现在它将连接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接