无法连接MongoDB?启动后端遇querySrv ENOTFOUND错误求助
MongoDB querySrv ENOTFOUND 错误解决方法
以下是针对该错误的几种有效排查和解决方式:
切换DNS服务器
这个错误本质是DNS无法解析MongoDB集群的SRV记录,优先尝试更换公共DNS:- Windows:在网络适配器设置里将DNS改为
8.8.8.8(谷歌)或114.114.114.114 - macOS/Linux:修改
/etc/resolv.conf,添加nameserver 8.8.8.8
- Windows:在网络适配器设置里将DNS改为
改用非SRV格式的连接字符串
放弃使用mongodb+srv://开头的SRV链接,改用标准连接字符串。可以直接从MongoDB Atlas控制台的"Connect"页面选择"Connect your application",然后在"Driver"选项里选择"Node.js",版本选2.2.12或更早,就能获取不带srv的标准链接,格式类似:mongodb://<username>:<password>@cluster0-shard-00-00.brbkwbs.mongodb.net:27017,cluster0-shard-00-01.brbkwbs.mongodb.net:27017,cluster0-shard-00-02.brbkwbs.mongodb.net:27017/<dbname>?ssl=true&replicaSet=atlas-xxxx-shard-0&authSource=admin&retryWrites=true&w=majority排查网络限制
- 关闭本地代理工具(如VPN、代理软件),尝试重新启动服务
- 检查防火墙设置,确保允许对MongoDB域名的DNS查询和网络连接
验证DNS解析能力
在命令行执行以下命令,确认是否能正常解析SRV记录:nslookup _mongodb._tcp.cluster0.brbkwbs.mongodb.net如果返回"Server failed"或无有效记录,说明当前DNS确实无法解析该域名,需优先更换DNS。
内容的提问来源于stack exchange,提问作者Subhan Qamar
相关产品推荐
相关产品推荐

