无法连接到 127.0.0.1:27017,连接被拒绝

无法连接到 127.0.0.1:27017,连接被拒绝

因此,我目前正在尝试为我的 centos 机器本地设置运行和托管的 mongodb。但是当我尝试连接时,我得到了这个:

#mongo
MongoDB shell version v3.4.24
connecting to: mongodb://127.0.0.1:27017
2021-04-20T22:06:51.585+0000 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2021-04-20T22:06:51.585+0000 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:240:13
@(connect):1:6
exception: connect failed

我现在已经读了很多关于它的内容。

  • 用户 mongod 是 /var/lib/monogodb 的所有者
  • 文件 /var/lib/mongodb/mongod.lock 不存在
  • 重新启动服务器导致了此问题。

我认为(个人)这与 iptables 有关。当我启动 mongodb 服务时,我得到了以下信息:

# service mongod status
Redirecting to /bin/systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2021-04-20 22:05:26 UTC; 27s ago
     Docs: https://docs.mongodb.org/manual
  Process: 1772 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=51)
  Process: 1770 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 1768 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 1766 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

Apr 20 22:05:25 Server-Elf systemd[1]: Starting MongoDB Database Server...
Apr 20 22:05:25 Server-Elf mongod[1772]: about to fork child process, waiting until server is ready for connections.
Apr 20 22:05:25 Server-Elf mongod[1772]: forked process: 1774
Apr 20 22:05:26 Server-Elf mongod[1772]: ERROR: child process failed, exited with error number 51
Apr 20 22:05:26 Server-Elf systemd[1]: mongod.service: Control process exited, code=exited status=51
Apr 20 22:05:26 Server-Elf systemd[1]: mongod.service: Failed with result 'exit-code'.
Apr 20 22:05:26 Server-Elf systemd[1]: Failed to start MongoDB Database Server.

Iptables 设置:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

/etc/mongod.conf 显示:net:bindIp:127.0.0.1

即使停止 iptables 后错误仍然继续。我真是不知所措。非常感谢您的帮助。提前谢谢您

答案1

很烦人,但唯一的解决办法是:恢复整个服务器的旧备份。

虽然这显然不是理想的,但我找不到重新开放对 127.0.0.1:27017 的访问的方法

一些数据丢失了,不过还好,我已经备份了大部分数据 - 现在只需重新设置即可。

谢谢大家的帮助/建议。

相关内容