之前尝试了好多种方法都卡在奇怪的地方失败了,今天终于成功了,所以来这里记录一下。在这里先提醒各位一定要多建一些快照,要不然的话只能刷机重来,很痛苦。话不多说开始吧:
首先说下我的配置:
服务器: CentOS 7.6 64bit
MongoDB版本:5.0.11
vim /etc/yum.repos.d/mongodb-org-5.0.repo
进入编辑页面,在刚刚创建的文件写入下方内容:
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
sudo yum install -y mongodb-org
sudo systemctl start mongod
sudo systemctl status mongod
sudo systemctl enable mongod
sudo systemctl stop mongod
sudo systemctl restart mongod
至此安装已经完成,开始下一步操作了。
1、首先要检查服务器的端口27017是否已经打开
2、云服务器中安装MongoDB后,默认绑定IP为 127.0.0.1 ,这就导致外部无法访问,因此要进入 /etc/mongod.conf 文件中修改bindIP为0.0.0.0,绑定公网IP。

1、下载 MongoDB Compass,在新的连接中写入 mongodb://xx.xx.xx.xx:27017 然后连接。
2、查看结果,如果成功即可使用,失败进行下一步操作。
Job for mongod.service failed because the control process exited with error code.
See "systemctl status mongod.service" and "journalctl -xe" for details.
输入 systemctl status mongod.service 会出现如下结果
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-04-23 09:45:33 CST; 13min ago
Docs: https://docs.mongodb.org/manual
Process: 8633 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
Process: 8631 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 8629 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 8628 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 8636 (mongod)
CGroup: /system.slice/mongod.service
└─8636 /usr/bin/mongod -f /etc/mongod.conf
Apr 23 09:45:31 VM-4-13-centos systemd[1]: Starting MongoDB Database Server...
Apr 23 09:45:31 VM-4-13-centos mongod[8633]: about to fork child process, waiting until server is ready for connections.
Apr 23 09:45:31 VM-4-13-centos mongod[8633]: forked process: 8636
Apr 23 09:45:33 VM-4-13-centos systemd[1]: Started MongoDB Database Failed.
1、进入到/tmp目录并找到mongodb-27017.sock文件
cd /tmp
ls -l *.sock
2、修改文件权限
chown mongod:mongod mongodb-27017.sock
3、重启服务
systemctl start mongod
systemctl status mongod
至此问题解决,重新使用MongoDB Compass连接查看结果即可。
安装好以后如果不随意关闭Mongod服务不会出现上文中其他里写的问题,但是改配置需要重启服务,所以这个问题也无法避免,搞了一晚上加一早晨终于找到问题所在,特此记录一下。
参考链接
1、CentOS 安装 mongodb
2、mongodb远程连接出现connect ECONNREFUSED(连接被拒绝)错误的解决方法
3、mongod.service failed–MongoDB启动失败解决办法