在 CentOS 上正确配置 MongoDB,通常包含以下几个关键步骤:安装、目录规划、配置文件、系统服务、权限与安全。下面以 CentOS 7/8 + MongoDB 6.x/7.x(systemd 环境)为例说明。
cat > /etc/yum.repos.d/mongodb-org.repo <<EOF
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
EOF
CentOS 7 把
redhat/8改成redhat/7
yum install -y mongodb-org
mkdir -p /data/mongodb
chown -R mongod:mongod /data/mongodb
常见目录:
/data/mongodb/var/log/mongodb/etc/mongod.conf最常用、最稳的配置示例:
storage:
dbPath: /data/mongodb
journal:
enabled: true
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
bindIp: 127.0.0.1,192.168.1.100
port: 27017
processManagement:
fork: true
pidFilePath: /var/run/mongod.pid
| 配置项 | 说明 |
|---|---|
| dbPath | 数据目录(必须 chown mongod) |
| bindIp | 只允许必要 IP,不要直接 0.0.0.0 |
| port | 默认 27017 |
| fork | systemd 模式可不用 |
systemctl daemon-reload
systemctl enable mongod
systemctl start mongod
查看状态:
systemctl status mongod
mongosh
use admin
db.createUser({
user: "root",
pwd: "StrongPassword",
roles: ["root"]
})
修改 /etc/mongod.conf:
security:
authorization: enabled
重启:
systemctl restart mongod
登录:
mongosh -u root -p --authenticationDatabase admin
firewall-cmd --add-port=27017/tcp --permanent
firewall-cmd --reload
journalctl -xe
cat /var/log/mongodb/mongod.log
Permission denied
解决:
chown -R mongod:mongod /data/mongodb
如果你愿意,可以告诉我:
我可以给你 完全匹配你环境的配置。