温馨提示×

ubuntu mongodb配置连接失败为何

小樊
45
2026-10-07 16:40:12
栏目: 云计算

在 Ubuntu 上 MongoDB 连接失败通常有几个常见原因,下面按出现频率给你梳理,并给出对应排查/解决方法。


一、MongoDB 没启动或已停止

现象

Failed to connect to 127.0.0.1:27017

检查

systemctl status mongod

解决

sudo systemctl start mongod
sudo systemctl enable mongod

二、bindIp 配置导致只能本机/不能远程

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 一定要配合防火墙 & 账号认证


三、防火墙 / 安全组未放行 27017

检查端口

sudo ufw status

开放端口

sudo ufw allow 27017

云服务器还要在 安全组 放行 27017


四、MongoDB 启用了认证但连接没带账号

现象

Authentication failed

解决方式

  1. 配置文件开启认证
security:
  authorization: enabled
  1. 连接时指定用户
mongo -u admin -p password --authenticationDatabase admin

或 URI:

mongodb://user:pass@host:27017/db

五、socket 文件权限问题

现象

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 denied
  • Unable to lock file

修复

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo systemctl restart mongod

七、App / 代码连接问题

  • 用了错误端口
  • 用了 localhost 但 MongoDB 在 Docker
  • URI 写错

标准 URI

mongodb://127.0.0.1:27017

快速自查清单 ✅

  • [ ] mongod 是否已启动
  • [ ] bindIp 是否正确
  • [ ] 防火墙是否放行
  • [ ] 是否开启认证
  • [ ] 日志是否有报错

如果你愿意,可以把 错误信息 + mongod.conf + 连接方式 发出来,我可以直接帮你定位是哪一条原因。

0 踩