Studio 3T连接localhost:27017的MongoDB失败报错问题咨询
Studio 3T连接本地MongoDB 27017端口被拒绝故障排查
报错核心信息
连接localhost:27017时触发套接字打开异常,连接被拒绝,客户端等待5000ms后超时,具体报错日志:
Connection failed. SERVER [localhost:27017] (Type: UNKNOWN) |_/ Connection error (MongoSocketOpenException): Exception opening socket |____/ Socket error: Connection refused: no further information Details: Timed out after 5000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: no further information}}]
这类报错和账号密码、权限配置无关,本质是Studio 3T根本没在目标地址的对应端口上找到可连通的MongoDB服务,按以下步骤逐一排查即可:
第一步:确认本地MongoDB服务处于运行状态
- Windows:按
Win+R输入services.msc回车打开服务管理器,在列表里找名称带MongoDB的服务,查看状态是否为「正在运行」,未运行则右键选择启动,可将启动类型设为「自动」避免后续开机后服务未自启。 - macOS:终端执行
brew services list | grep mongodb查看服务状态,未启动则执行brew services start mongodb-community(注意替换成你实际安装的MongoDB版本对应服务名)。 - Linux:终端执行
systemctl status mongod查看服务状态,未启动则执行sudo systemctl start mongod,需要开机自启可追加执行sudo systemctl enable mongod。
补充:Studio 3T只是MongoDB的客户端管理工具,本身不具备独立创建数据库的能力,必须先启动MongoDB服务、成功连接到服务实例后,才能在实例下创建新的数据库,未连通服务时的建库操作不会实际生效。
- Windows:按
第二步:校验MongoDB的端口和绑定地址配置
如果确认服务已经启动还是报同样的错,先查27017端口是否真的被MongoDB监听:- Windows命令提示符执行:
netstat -ano | findstr "27017" - macOS/Linux终端执行:
lsof -i :27017或者netstat -tunlp | grep 27017
如果执行完没有任何返回结果,说明MongoDB没有监听默认的27017端口,需要打开MongoDB配置文件mongod.conf核对配置: - Windows默认配置路径:
C:\Program Files\MongoDB\Server\<对应版本号>\bin\mongod.cfg - Linux默认配置路径:
/etc/mongod.conf - macOS(Apple芯片)默认配置路径:
/opt/homebrew/etc/mongod.conf,Intel芯片路径为/usr/local/etc/mongod.conf
找到配置里的net段落,确认port参数值为27017,bindIp参数包含127.0.0.1(仅本地访问场景),修改配置后保存,重启MongoDB服务再重试连接。
- Windows命令提示符执行:
第三步:排查端口占用和拦截问题
如果查27017端口的监听进程不是MongoDB,说明端口被其他程序占用,要么结束占用端口的进程,要么修改MongoDB配置里的监听端口为其他未被占用的端口,Studio 3T连接时同步修改对应端口号即可。
另外检查本地防火墙、第三方安全软件是否拦截了本地回环地址的27017端口访问,可临时关闭安全防护工具测试连通性。第四步:核对Studio 3T连接参数
新建连接时地址栏填localhost或127.0.0.1,端口栏填配置里MongoDB实际监听的端口,未开启账号认证的情况下直接测试连接即可;如果开启了认证,切换到认证配置页,填写正确的账号、密码、认证数据库(默认认证库为admin)再重试。
内容的提问来源于stack exchange,提问作者pardis.ti
相关产品推荐
相关产品推荐

