安装MongoDB:
创建/etc/yum.repos.d/mongodb-org-4.0.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:
sudo yum install -y mongodb-org
配置mongod.conf允许远程连接:
$ vim /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
创建管理员用户:
$ mongo
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
启用权限管理:
$ vim /etc/mongod.conf
#security
security:
authorization: enabled
supervisor管理mongod进程:
/etc/supervisor/conf.d/mongod.conf
添加内容如下:
[program:mongod]
command=/usr/bin/mongod -f /etc/mongod.conf
autorestart=true
startsecs=3
startretries=3
踩坑1:
MongoDB4.0默认是以fork(daemon)方式启动的,这个在配置文件/etc/mongod.conf中,因此需要关闭fork方式, 不然supervisord启动mongod会一直报错ERROR: child process failed, exited with error number 48
(https://blog.csdn.net/windy135/article/details/90204224):
processManagement:
fork: false # fork and run in background
踩坑2: 如果MongoDB正在写数据的时候,执行了kill -9 杀进程,可以参照如下解决方式:
https://www.cnblogs.com/joshua317/articles/5190385.html
踩坑3: /usr/bin/mongod -f /etc/mongod.conf
前台启动是没有输出,注意查看日志(/etc/mongod.conf)