无法使用mongodb + srv将Mongo Shell连接到Mongo Atlas M0

时间:2019-04-28 18:41:44

标签: mongodb

我正在尝试通过mongo+srv连接连接到我的MongoDB Atlas Cloud集群,如下所示:

mongo "mongodb+srv://cluster0-mhzdc.mongodb.net/test" --username myuser

我收到此回复:

DNSHostNotFound: Failed to look up service "_mongodb._tcp.cluster0-mhzdc.mongodb.net": Undefined error: 0
try 'mongo --help' for more information

我正在使用以下版本的Mongo客户端:

mongo --version
MongoDB shell version v4.0.5
git version: 3739429dd92b92d1b0ab120911a23d50bf03c412
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

我在网上找不到任何解决方法。任何想法有什么问题吗?这是给定版本的Mongo Shell客户端中的错误吗?

3 个答案:

答案 0 :(得分:3)

我也遇到了同样的情况,但是在我更换了互联网提供商之后。以前,我可以毫无问题地连接到mongo地图集。

我想这是因为我的互联网提供商的DNS解析器无法解析uri以连接到mongodb地图集。

解决方案-> 在我的PC上更改de DNS解析器:

  1. 打开控制面板。
  2. 点击查看网络状态和任务
  3. 单击窗口左侧的“更改适配器设置”。
  4. 双击您正在使用的Internet连接图标。
  5. 单击“属性”按钮。
  6. 单击并突出显示Internet协议版本4(TCP / IPv4),然后单击“属性”。
  7. 如果尚未选择,请选择“使用以下DNS服务器地址”选项。
  8. 输入新的DNS地址,然后单击“确定”并关闭所有其他窗口。

我使用了Google公开DNS 8.8.8.8。

之后,我可以再次用我的mongo shell或指南针连接到mongo地图集。

希望对某人有帮助。

答案 1 :(得分:1)

看起来像错误34117,但仍未解决:

https://jira.mongodb.org/browse/SERVER-34117

要解决此错误,请检查笔记本上是否有活动的DNS解析器。 在Windows上:

ipconfig /displayDNS

以查看当前的DNS解析器缓存。 您甚至可以尝试使用以下命令清除缓存:

ipconfig /flushdns

,然后重试。 如果您正在使用linux ubuntu,请尝试以下命令:

named -v

检查DNS解析器软件是否已安装。 如果没有:

sudo apt update
sudo apt install bind9 bind9utils bind9-doc bind9-host

要安装所需的软件包,然后启动服务:

sudo systemctl start bind9

然后重试。

在Mac OSX上,命令为:

sudo killall -HUP mDNSResponder;sudo killall mDNSResponderHelper;sudo dscacheutil -flushcache

答案 2 :(得分:0)

Comcast Xfinity也遇到了这个问题。对于运行Ubuntu 18.04或类似版本的用户,我必须编辑/etc/dhcp/dhclient.conf文件(您需要root权限),然后添加到以下行: supersede domain-name-servers 8.8.8.8, 8.8.4.4; 我希望这对某人有帮助,我花了太长时间才弄清楚。 :-)