使用mongoimport向Mongo Atlas集群导入数据出现DNS报错如何解决
报错原因
该报错由两类核心问题导致:
- 本地安装的
mongoimport工具版本和MongoDB Atlas集群的DNS SRV记录格式不兼容 - 你当前使用的本地DNS(172.20.10.1,多为移动热点默认DNS)无法正确解析Atlas的+srv格式连接串
解决方法
- 方法1:替换为非SRV格式的连接串
登录MongoDB Atlas控制台,进入对应集群的连接页面,选择「连接到MongoDB Shell」,再选择3.4及更早版本的Shell选项,即可获取不带+srv的标准连接串,替换你命令中的--uri参数即可,标准连接串格式参考:mongodb://cabinetdermes:<MYPASSWORDHERE>@cluster2-shard-00-00.ufzkq.mongodb.net:27017,cluster2-shard-00-01.ufzkq.mongodb.net:27017,cluster2-shard-00-02.ufzkq.mongodb.net:27017/cabinetdermes?ssl=true&replicaSet=atlas-xxxxxx-shard-0&authSource=admin&retryWrites=true&w=majority - 方法2:升级MongoDB Database Tools版本
将本地的mongoimport所属的MongoDB数据库工具包升级到和集群大版本一致的版本,即可解决SRV记录解析兼容性问题 - 方法3:修改本地DNS为公共DNS
临时将设备的DNS服务器改为公共DNS(如8.8.8.8、114.114.114.114),避开当前热点DNS的解析异常,修改完成后重试导入命令即可
验证方式
修改配置后可先执行以下命令验证DNS解析是否正常:
nslookup -type=SRV _mongodb._tcp.cluster2.ufzkq.mongodb.net
如果能正常返回SRV记录,说明解析链路无异常,再执行导入命令即可。
内容的提问来源于stack exchange,提问作者Sb Zakaria
相关产品推荐
相关产品推荐

