前言

之前尝试了好多种方法都卡在奇怪的地方失败了,今天终于成功了,所以来这里记录一下。在这里先提醒各位一定要多建一些快照,要不然的话只能刷机重来,很痛苦。话不多说开始吧:
首先说下我的配置:
服务器: CentOS 7.6 64bit
MongoDB版本:5.0.11

第一步 安装MongoDB

1、创建 mongodb yum 源头

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

2、yum 安装

sudo yum install -y mongodb-org

3、启动 mongodb

sudo systemctl start mongod

4、 查看 mongod 状态

sudo systemctl status mongod

5、 设置开机启动

sudo systemctl enable mongod

6、 关闭 mongod

sudo systemctl stop mongod

7、 重启

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、查看结果,如果成功即可使用,失败进行下一步操作。

其他:解决 mongod.service failed–MongoDB启动失败

报错详情:
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启动失败解决办法

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐