Ubuntu 20.04安装MongoDB后运行mongosh提示连接被拒绝错误
MongoDB连接ECONNREFUSED问题排查解决方案
该报错核心原因是mongosh客户端无法访问本地27017端口的MongoDB服务进程,按以下顺序排查即可解决:
1. 检查MongoDB服务运行状态
执行命令查看服务状态:systemctl status mongod
- 如果输出为
inactive (dead),说明服务未启动,执行启动命令:sudo systemctl start mongod - 如需设置开机自启,额外执行:
sudo systemctl enable mongod
启动完成后重新运行mongosh测试连接,正常即可结束排查。
2. 排查服务启动失败问题
如果执行启动命令后服务仍无法进入active (running)状态,查看日志定位错误:sudo cat /var/log/mongodb/mongod.log
常见问题修复方案:
- 数据目录权限异常:默认数据目录为
/var/lib/mongodb,需归属mongodb用户,执行修复:sudo chown -R mongodb:mongodb /var/lib/mongodb && sudo chmod -R 755 /var/lib/mongodb - 端口占用:27017端口被其他进程占用,执行检查:
sudo lsof -i :27017
确认占用进程后停止对应进程,或修改/etc/mongod.conf中的net.port参数更换端口,修改后重启服务。 - 配置文件语法错误:如修改过
/etc/mongod.conf,检查YAML格式缩进是否符合规范,修正后重启服务。
3. 检查绑定IP配置
服务正常运行仍无法连接时,查看/etc/mongod.conf中net.bindIp配置,默认值为127.0.0.1时允许本地连接,若修改为其他地址,可改回默认值,或执行mongosh时指定对应绑定的IP地址。修改配置后需重启服务生效:
sudo systemctl restart mongod
4. 检查防火墙规则
云服务器部署场景下,确认系统防火墙是否放开27017端口,本地安装场景下默认不会拦截本地回环地址请求,无需额外配置。
内容的提问来源于stack exchange,提问作者SantiMar
相关产品推荐
相关产品推荐

