错误:连接mongodb的Windows上没有unix socket支持

时间:2016-07-09 07:54:12

标签: mongodb configuration

我使用robomongo工具访问mongodb。当我连接到我的数据库然后

enter image description here

显示错误详情

enter image description here

如何解决?

6 个答案:

答案 0 :(得分:43)

我遇到了同样的问题,并且能够通过删除连接标签中的完整网址(例如:mongodb://myuser:mypassword@mongodb-test.mydomain.com/my_database)并仅放入mongodb服务器网址mongodb-test.mydomain.com来修复它。

接下来,在Authentication选项卡中,我选中了Perform authentication复选框,指定了数据库,用户名和密码。

我还在Advanded标签中添加了数据库以防万一,我现在可以连接而不会出错。

答案 1 :(得分:11)

尝试仅在地址栏中插入ds12345.mlab.com而不是[http:// mongodb://<dbuser>:<dbpassword>@...],并创建用户在mlab.com中进行身份验证,然后尝试连接到它。像这样:

enter image description here

然后:

enter image description here

答案 2 :(得分:4)

仅删除为我工作的[http://]

答案 3 :(得分:4)

虽然这个答案只与问题部分相关,但我想在此处描述解决方案。

尝试通过Robo3T连接到Atlas上托管的MongoDB集群时遇到了这个问题。它们提供了前面具有协议的连接字符串(例如mongodb+srv://<USER>:<PASSWORD>@database-mongodb.net/admin)。这是两个问题的组合:

  1. Robo3T不喜欢URI中的协议mongodb+srv://。您应该只使用第二部分(在@之后)。喜欢:database-mongodb.net
  2. Robo3T不喜欢分片。至少我无法通过该连接字符串与它连接。根据我的理解,您需要该协议才能连接到分片。由于您无法使用这种URI,因此您需要直接连接到主分片。为此,您需要使用主分片的URI构建新的连接字符串。像这样:database-shard-00-00-vemhh.mongodb.net并为Robo3T提供端口。此外,如果您使用MongoDB Atlas(直接在Robo3T中配置的自签名证书为我工作),您需要通过SSL连接。

答案 4 :(得分:0)

获取较新版本的Robo3T客户端...它可以从+ srv链接自动导入

join

答案 5 :(得分:0)

我遇到了同样的问题,但是我可以通过安装Robo 3T 1.3并从MongoDB SRV连接字符串导入连接详细信息来解决。看到这个:

Steps to connect remote DB from Robo 3T 1.3

在连接字符串和“身份验证”选项卡上的传递时,请记住要替换用户

图片中的连接字符串是假的