在 Ubuntu 上 MongoDB 连接失败通常有几个常见原因,下面按出现频率给你梳理,并给出对应排查/解决方法。
现象
Failed to connect to 127.0.0.1:27017
检查
systemctl status mongod
解决
sudo systemctl start mongod
sudo systemctl enable mongod
MongoDB 默认只监听 127.0.0.1
配置文件
sudo nano /etc/mongod.conf
常见错误
net:
bindIp: 127.0.0.1
允许远程连接
net:
bindIp: 0.0.0.0
修改后重启:
sudo systemctl restart mongod
⚠️ 注意:远程开放 0.0.0.0 一定要配合防火墙 & 账号认证
检查端口
sudo ufw status
开放端口
sudo ufw allow 27017
云服务器还要在 安全组 放行 27017
现象
Authentication failed
解决方式
security:
authorization: enabled
mongo -u admin -p password --authenticationDatabase admin
或 URI:
mongodb://user:pass@host:27017/db
现象
connect failed cant connect to /tmp/mongodb-27017.sock
解决
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo systemctl restart mongod
查看日志
journalctl -u mongod
常见错误:
Permission deniedUnable to lock file修复
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo systemctl restart mongod
localhost 但 MongoDB 在 Docker标准 URI
mongodb://127.0.0.1:27017
如果你愿意,可以把 错误信息 + mongod.conf + 连接方式 发出来,我可以直接帮你定位是哪一条原因。