无法使用robo3T和C#从其他服务器连接到MongoDB副本集

zpqajqem  于 2022-11-22  发布在  Go
关注(0)|答案(3)|浏览(224)

我已经安装了mongodb副本集,在文件***mongod.conf***中添加了如下BIND_IP

net:
  port: 27017
  bindIp: 127.0.0.1, 100.0.192.68

当我用robo3t连接“replica set”时键入了错误,但连接到“Direct Connection”时却成功了。
错误类型=“副本集

连接字符串C# "mongodb://100.0.192.68:27017,100.0.192.68:27017/databasename?safe=true&connect=replicaSet&replicaSet=r0"

eh57zj3b

eh57zj3b1#

Robo 3T似乎在通过“身份验证”访问已验证连接的副本集时遇到了问题。最好在复制集的所有成员上激活ssh服务器。然后在Robo 3T中,您将所有成员添加到连接中,并选择ssh和身份验证方法密码。这样我就可以绕过这个限制。

pxiryf3j

pxiryf3j2#

在我的例子中,问题是Robo3T中的超时时间太短(默认为10 seconds)。为了增加超时时间,我必须修改robo3t.json配置文件中的mongoTimeoutSec属性。
根据您的操作系统,您可以在以下位置找到robo3t.json配置文件:

Windows
    C:\Users\<user>\.3T\robo-3t\1.1.1\robo3t.json

MAC
    /Users/<user>/.3T/robo-3t/1.1.1/robo3t.json

Linux
    /home/<user>/.3T/robo-3t/1.1.1/robo3t.json

修改robo3t.json之前,请先关闭Robo3T本身。

在此文件中,根据需要修改超时:

"mongoTimeoutSec" : 30,

修改后,保存文件并启动Robo3T。

yizd12fk

yizd12fk3#

在我的情况下,我使用主机名来设置副本集,同时在连接字符串和Robo 3 T连接设置中使用IP。
在将主机名添加到我的win10的hosts文件(用于POC)后,我可以使用主机名而不是IP从Win10/C#和Win10/Robo 3 T连接到Linux上的副本集。

相关问题