MongoServerSelectionError: connection monitor closed报错如何解决?
解决MongoDB连接报错
MongoServerSelectionError: connection <monitor> to ******* closed方案 1. 基础网络连通性排查
- 先测试目标MongoDB服务端口连通性,默认端口为27017,在本地cmd运行
telnet 你的MongoDB服务IP 27017,如果连接失败优先排查网络规则 - 若MongoDB部署在云服务器,确认云服务商安全组已放开你当前客户端公网IP的27017端口入站权限
- 检查本地防火墙、杀毒软件是否限制了mongosh的出站连接请求
2. MongoDB服务端配置排查
- 登录MongoDB所在服务器,确认mongod服务处于正常运行状态:Linux系统运行
systemctl status mongod查看,Windows系统在服务列表中检查MongoDB服务状态 - 核查mongod配置文件(Linux默认路径
/etc/mongod.conf,Windows默认路径为安装目录下bin/mongod.cfg)的bindIp参数,确认已允许你当前客户端IP访问,不要仅绑定127.0.0.1 - 若服务端开启了IP访问白名单,确认你当前的公网IP已加入白名单列表
3. 连接参数校验
- 确认连接字符串格式正确,标准格式参考:
mongosh "mongodb://用户名:密码@MongoDB服务IP:27017/目标库名?authSource=admin",若密码包含特殊字符需要提前做URL编码 - 确认
authSource参数与你创建用户时的认证库一致,默认在admin库下创建的用户必须指定authSource=admin - 若服务端开启了TLS/SSL加密连接,需要在连接字符串中添加
tls=true参数,否则会被服务端主动断开连接
4. 特殊场景排查
- 若使用MongoDB Atlas免费集群,确认集群未进入休眠状态,免费集群长时间无访问会自动休眠,需到Atlas控制台唤醒后再尝试连接
- 查看MongoDB服务端运行日志,搜索连接断开相关的报错记录,可直接定位到具体断开原因,包括认证失败、IP被拦截等问题都有明确日志提示
内容的提问来源于stack exchange,提问作者siddhant_trg
相关产品推荐
相关产品推荐

