我安装的MongoDB是4.0+的版本,网上大部分教程都是4.0以下的版本,它们的配置是有很大不一样的。

升级yum

Centos服务器中都会自带yum,它是CentOS中的Shell前端软件包管理器,犹如NPM。
我们先升级一下它。

  1. yum update

安装MongoDB

先来到yum的路径下,新建一个repo文件。
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。

vim /etc/yum.repos.d/mongodb-org-4.0.repo

然后按键盘上的 A 进入编辑模式,粘贴以下内容。

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

然后按 Esc 退出编辑模式,输入 :wq 保存退出。

然后执行下列命令进行下载安装MongoDB。

sudo yum install -y mongodb-org

安装好后,我们修改 /etc/yum.conf 文件,加入如下信息,禁用自动升级。
修改文件内容使用 vim ,跟上面一样,就不重复说了。

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

修改完文件后,我们执行下列命令启动MongoDB服务。

sudo service mongod start

相关配置

首先我们先配置一下开机自启动。

sudo chkconfig mongod on
systemctl enable mongod.service

紧接着我们配置一下用户。
先执行以下命令进入MongoDB shell。

mongo --port 27017

然后进入admin数据库。

use admin

然后创建一个超级用户。

db.createUser({user: "root",pwd: "12345678",roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]})

创建完成后, Ctrl+C 退出MongoDB shell,然后再重新进入,验证用户是否存在。

use admin
db.auth("root","12345678")

输出 1 表示验证成功。

启动身份验证

修改MongoDB的配置文件。

vim /etc/mongod.conf

bindIp 设置为 0.0.0.0 ,这样外网也能够访问,默认为 127.0.0.1 ,只能在内网访问。

net:
  port: 27017
  bindIp: 0.0.0.0

然后启动身份验证配置。

security:
  authorization: enabled

然后重启MongoDB服务即配置成功。

sudo service mongod restart

之后我们就可以用密码连接MongoDB进去MongoDB shell。

mongo --port 27017 -u "root" --authenticationDatabase "admin" -p

开启防火墙

# 只对192.168.30.189开放27017端口
iptables -A INPUT -p tcp -s 192.168.30.189 --dport 27017 -j ACCEPT

# 对外开放27017端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

使用Robo 3T本地连接数据库

Robo3T可以远程连接你服务端的MongoDB数据库,虽然操作不了太多东西,但至少可以查看你数据库里的内容。
进入Robo3T官网即可下载安装。

安装成功后,打开Robo3T,创建新的连接。在Connection中,Name自己随便取,Address填写你的IP地址,后面端口号填写27017。
截屏2020-10-09 下午2.52.18.png
然后在Authentication,将Perform authentication打勾,User Name和Password填写你刚刚配置用户的账号密码。
截屏2020-10-09 下午2.53.08.png
点击Save保存,然后再点击Connect,就连接成功。
截屏2020-10-09 下午2.54.20.png