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

运行mongo.exe连接MongoDB时遭遇网络连接失败错误求助

解决MongoDB连接时的SocketException(RECV_ERROR)问题

看到你遇到的这个MongoDB连接错误——连接被主机软件中止,还抛出了SocketException,我之前也踩过这个坑!本质上是你的mongo shell没法和本地的MongoDB服务建立正常通信,大概率是服务没启动、端口被占用或者配置出了问题。先把你遇到的错误信息贴出来方便对照:

C:\Program Files\MongoDB\Server\3.6\bin>mongo.exe
MongoDB shell version v3.6.4
connecting to: mongodb://127.0.0.1:27017
2018-05-13T21:36:21.154+0530 I NETWORK  [thread1] Socket recv() An established connection was aborted by the software in your host machine. 127.0.0.1:27017
2018-05-13T21:36:21.156+0530 I NETWORK  [thread1] SocketException: remote: (NONE):0 error: SocketException socket exception [RECV_ERROR] server [127.0.0.1:27017]
2018-05-13T21:36:21.157+0530 E QUERY    [thread1] Error: network error while attempting to run command 'isMaster' on host '127.0.0.1:27017' :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

接下来是具体的排查和解决步骤:

  • 检查MongoDB服务状态
    这是最常见的原因:打开Windows服务管理器(按下Win+R,输入services.msc回车),找到名为MongoDB的服务,查看它的状态是否为“正在运行”。

    • 如果没运行,右键点击“启动”;
    • 如果启动失败,去MongoDB的日志目录(默认是data/log,或者配置文件里指定的logPath)打开mongod.log,里面会有启动失败的具体原因(比如dbPath不存在、权限不足)。
  • 检查27017端口是否被占用
    MongoDB默认用27017端口,如果这个端口被其他程序占了,服务就没法正常监听。打开命令提示符,输入:

    netstat -ano | findstr :27017
    

    如果返回结果,记下对应的PID,打开任务管理器(详细信息 tab)找到这个PID对应的进程:

    • 如果不是MongoDB的进程,右键结束它,然后重启MongoDB服务;
    • 如果是MongoDB的进程但服务状态异常,先结束进程再重新启动服务。
  • 验证MongoDB配置文件
    打开你的mongod.cfg配置文件(默认在C:\Program Files\MongoDB\Server\3.6\bin目录下),检查几个关键配置:

    • bindIp:确保设置为127.0.0.1(允许本地连接)或者0.0.0.0(允许所有IP),不要设置成其他非本地IP;
    • port:确认是27017,如果改了端口,连接时要加上--port 新端口号;
    • dbPath和logPath:确保这两个路径存在,并且MongoDB服务有读写权限(比如不要把dbPath放在C盘根目录,可能权限不够)。
  • 手动启动mongod服务排查问题
    如果服务启动失败,直接手动启动能看到更直观的错误信息:打开命令提示符,切换到MongoDB的bin目录:

    cd "C:\Program Files\MongoDB\Server\3.6\bin"
    

    然后执行:

    mongod.exe --config "C:\Program Files\MongoDB\Server\3.6\bin\mongod.cfg"
    

    这时控制台会输出启动过程中的所有日志,直接就能定位问题(比如路径不存在、权限错误)。

  • 检查防火墙设置
    本地防火墙可能会阻止mongo shell和mongod服务的通信:

    • 暂时关闭Windows防火墙试试,如果能正常连接,就去防火墙的“允许应用通过防火墙”设置里,添加mongod.exe和mongo.exe作为允许的程序;
    • 也可以直接添加27017端口的入站规则,允许本地连接。

按照这些步骤排查下来,基本就能解决这个连接问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:27:22