在Centos7默认仓库没有MongoDB下载源,大家可通过MongoDB官网下载源码包自行编译或者下载MongoDB官方yum仓库进行安装。这里要示范的是通过 yum源 进行安装 MongoDB 4.2.0。
官方安装指南:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat
yum install yum-utils
新建MongoDB的repo源
touch /etc/yum.repos.d/mongodb-org.repo
往 mongodb-org.repo 文件里输入
vim /etc/yum.repos.d/nginx.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
多版本的好处在于,可对版本进行升级和降级处理。
需要注意的是,官方提到,奇数版本号为开发版本,不建议作为生产版本使用,这里建议可设置多个稳定版本,作为备用。
往 mongodb-org.repo 文件里输入
vim /etc/yum.repos.d/nginx.repo
[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
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=0
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
当要安装的时候,选择你要安装的版本
在使用MongoDB存储库时,默认情况下会选择MongoDB的最新稳定版本进行安装。如果这是你想要的,你可以跳到下一步。
yum repolist all | grep mongodb-org
输出
mongodb-org-4.0/7 MongoDB Repository disabled
mongodb-org-4.2/7 MongoDB Repository enabled: 5
可通过以下命名对安装版本进行切换
禁用版本
yum-config-manager --disable mongodb-org-4.0
启动版本
yum-config-manager --enable mongodb-org-4.2
需要注意的是,每次只能确保有一个版本是启用状态,其他都是禁用状态
更改后,检查下是否是要安装的版本
yum repolist all | grep mongodb-org
yum install -y mongodb-org
启动MongoDB服务
systemctl start mongod.service
检查其运行状态
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 一 2019-10-14 23:22:05 CST; 17s ago
Docs: https://docs.mongodb.org/manual
Process: 1774 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Process: 1771 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 1769 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 1768 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Main PID: 1777 (mongod)
CGroup: /system.slice/mongod.service
└─1777 /usr/bin/mongod -f /etc/mongod.conf
10月 14 23:22:04 localhost.localdomain systemd[1]: Starting MongoDB Database Server...
10月 14 23:22:04 localhost.localdomain mongod[1774]: about to fork child process, waiting until server is ready for connections.
10月 14 23:22:04 localhost.localdomain mongod[1774]: forked process: 1777
10月 14 23:22:05 localhost.localdomain systemd[1]: Started MongoDB Database Server.
systemctl enable mongod.service
如果您正在运行防火墙(firewalld),则还需要打开27017端口:
firewall-cmd --permanent --zone=public --add-port=27017/tcp
firewall-cmd --reload
打开 /etc/mongod.conf 文件
vim /etc/mongod.conf
将
bindIp: 127.0.0.1
改成
bindIp: 0,0,0,0
保存后重启MongoDB服务
systemctl restart mongod.service