是否有人能够使用rmongodb
连接到MongoDB副本集?无论我如何配置mongo.create
,我都会收到身份验证错误,即使通过mongo
shell连接时相同的主机/用户名/密码也能正常工作。
我的代码相当于:
> mongo.create(c("rs-1.mysite.com:12345","rs-2.mysite.com:12345"), "rsName", "user", "password", "my_db")
Unable to connect to replset
Authentication failed.
更新
查看副本集中所有节点的日志,当我运行上面的代码时,我没有看到任何尝试进行身份验证。因此,这可能是rmongodb
错误。
答案 0 :(得分:2)
正如Sim所说,rmongodb 1.0.3 does not resolve hostnames。
然而,可以从rmongodb连接到副本集,但需要注意几点:
所以我的工作连接字符串如下所示:
mongo.create(c("192.168.1.123:27017","192.168.1.124:27018","192.168.1.125:27017"),"","user","password", "thedb")
注意:我只用MongoDB 2.2.0进行了测试。
答案 1 :(得分:1)
查看C源代码,rmongodb
似乎无法将主机名解析为IP地址。这种方法的唯一方法是将IP地址字符串传递给驱动程序...
通过传递IP地址和端口号,您可以连接到其中一个节点。我仍然无法让rmongodb
成功连接到副本集。