在 CentOS 上配置 MongoDB 出错很常见,通常和权限、SELinux、配置格式、数据目录、端口有关。下面按常见错误 → 排查方法 → 解决办法给你一个实用清单。
先看看具体报错:
systemctl status mongod
journalctl -xe
或手动启动看详细错误:
mongod --config /etc/mongod.conf
报错类似:
Permission denied
Failed to set up listener
解决:
mkdir -p /var/lib/mongo
chown -R mongod:mongod /var/lib/mongo
chmod 750 /var/lib/mongo
MongoDB 用的是 严格 YAML
❌ 错误示例:
bindIp: 0.0.0.0
port:27017
✅ 正确:
net:
port: 27017
bindIp: 0.0.0.0
修改后检查:
mongod --config /etc/mongod.conf --validate
ss -lntp | grep 27017
如果占用:
现象:
临时关闭测试:
setenforce 0
永久解决(推荐):
semanage port -a -t mongod_port_t -p tcp 27017
或修改:
vi /etc/selinux/config
SELINUX=permissive
firewall-cmd --add-port=27017/tcp --permanent
firewall-cmd --reload
CentOS 7:
查看版本:
cat /etc/redhat-release
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
port: 27017
bindIp: 127.0.0.1,0.0.0.0
processManagement:
fork: true
你可以直接把完整报错信息或 mongod.conf 贴出来,我可以帮你逐行改 ✅
你现在是: