You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04.3 LTS启动MongoDB后mongosh报ECONNREFUSED错误如何解决

MongoDB 连接失败排查解决方案

首先明确一个基础认知:sudo systemctl start mongod 是后台启动MongoDB服务的命令,执行完成后默认返回系统终端是正常现象,进入MongoDB终端确实需要单独执行mongosh命令,你这步操作逻辑没有问题。

针对MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017报错,按照以下顺序排查即可:

  • 第一步:确认MongoDB服务是否启动成功
    执行命令:
    sudo systemctl status mongod
    
    若返回结果中状态为active (running)则服务正常,若为failed或inactive则服务启动失败,继续后续排查。
  • 第二步:修复数据目录与日志目录权限
    MongoDB默认要求/var/lib/mongodb(数据目录)、/var/log/mongodb(日志目录)的所有者为mongodb用户,权限异常会导致服务启动失败,执行以下命令修复权限后重启服务:
    sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb
    sudo systemctl restart mongod
    
  • 第三步:核对MongoDB配置参数
    打开配置文件/etc/mongod.conf,检查net配置段下的两个参数:
    • bindIp需配置为127.0.0.1(本地访问场景)
    • port需配置为27017
      调整配置后需重启服务生效。
  • 第四步:排查端口占用冲突
    若之前有未正常关闭的MongoDB残留进程,会占用27017端口导致新服务无法启动,执行命令查看端口占用:
    sudo lsof -i :27017
    
    若有对应进程,执行kill -9 进程ID杀掉残留进程后重启MongoDB服务即可。
  • 第五步:排查本地防火墙规则
    若服务已显示正常运行仍无法连接,检查Ubuntu默认防火墙是否拦截27017端口:
    sudo ufw status
    
    若防火墙为开启状态,执行命令放行本地27017端口:
    sudo ufw allow from 127.0.0.1 to any port 27017
    

完成以上排查后再次执行mongosh即可正常进入MongoDB终端。

内容的提问来源于stack exchange,提问作者GaboRenovation

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:57:01