“Linux 下 MongoDB 配置失败”是一个比较宽泛的问题,原因可能有很多。下面我按常见原因 → 现象 → 解决办法给你系统梳理一下,你可以对照排查。
MongoDB 默认不会自动找配置文件,需要你指定:
mongod --config /etc/mongod.conf
# 或
mongod -f /etc/mongod.conf
❌ 错误示例:
mongod
# 没加载配置,用的还是默认配置
✅ 检查:
ps aux | grep mongod
MongoDB 配置文件是 YAML,对缩进和格式极其敏感。
❌ 错误示例:
storage:
dbPath: /data/db # 缩进错误
✅ 正确示例:
storage:
dbPath: /data/db
检查命令:
mongod --config /etc/mongod.conf --dryRun
MongoDB 不能用 root 直接跑数据目录
错误日志常见:
Permission denied
解决:
sudo mkdir -p /data/db
sudo chown -R mongodb:mongodb /data/db
如果你用 mongod 用户运行:
ps aux | grep mongod
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
确保:
sudo chown mongodb:mongodb /var/log/mongodb
net:
bindIp: 127.0.0.1
远程连不上时,需要:
net:
bindIp: 0.0.0.0
⚠️ 生产环境不建议直接 0.0.0.0,应配合防火墙和安全组。
netstat -tunlp | grep 27017
或:
lsof -i:27017
错误日志:
Too many open files
解决:
ulimit -n 64000
永久生效:
/etc/security/limits.conf
小内存机器容易崩:
Cannot allocate memory
建议:
wiredTigerCacheSizeGBstorage:
wiredTiger:
engineConfig:
cacheSizeGB: 0.5
systemctl status mongod
journalctl -u mongod -xe
常见原因:
比如:
检查:
uname -m
mongo --version
你可以按顺序检查:
你可以直接贴出:
我可以一步一步帮你定位到具体哪一行配置错了。