Spring Boot启动报MongoSocketOpenException,已装MongoDB如何修复27017连接拒绝问题
异常核心判断
该报错的本质是本地27017端口无正常运行的MongoDB服务可连接,即便完成了MongoDB安装,只要服务未启动、配置不匹配,就会触发连接拒绝的socket异常。
分场景修复操作
- 确认MongoDB服务的实际运行状态
多数场景下安装完成的MongoDB不会自动启动服务,需手动校验运行状态:Windows可打开系统服务面板查找MongoDB对应服务,确认状态为“正在运行”;Linux可执行systemctl status mongod校验服务状态;macOS可执行brew services list查看MongoDB进程状态。若服务未运行,手动启动对应服务即可。 - 修正IP解析不匹配的问题
报错日志中显示Java侧将localhost解析为IPv6地址0:0:0:0:0:0:0:1发起连接,但默认配置的MongoDB仅监听IPv4地址时,就会触发连接拒绝。
两种修正方式二选一即可:- 将Spring Boot配置中的Mongo连接地址从
localhost替换为明确的IPv4地址127.0.0.1 - 修改MongoDB配置文件
mongod.conf中的bindIp配置项,将监听范围调整为包含IPv6回环地址,配置完成后重启MongoDB服务
- 将Spring Boot配置中的Mongo连接地址从
- 排查端口占用与拦截规则
校验27017端口的实际监听进程:Windows执行netstat -ano | findstr 27017,Linux/macOS执行lsof -i :27017,确认占用端口的进程为mongod。若端口被其他无关程序占用,要么停掉无关进程,要么同步修改Spring Boot与MongoDB的对应端口配置。同时可临时关闭本地防火墙,排除防火墙拦截本地回环连接的影响。 - 核对Spring Boot侧的连接参数
检查application.yml/application.properties中的Mongo连接配置,确认端口、账号、密码、认证库信息与本地MongoDB的实际配置完全匹配,避免因参数错配导致连接失败。
内容的提问来源于stack exchange,提问作者Gaurav Jain
相关产品推荐
相关产品推荐

