首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用rmongodb连接到MongoDB副本集

用rmongodb连接到MongoDB副本集
EN

Stack Overflow用户
提问于 2012-09-02 06:20:01
回答 2查看 1.7K关注 0票数 0

是否有人能够使用MongoDB连接到rmongodb副本集?无论我如何配置mongo.create,我都会得到一个身份验证错误,即使同一主机/用户名/密码在通过mongo外壳进行连接时运行良好。

我的代码相当于:

代码语言:javascript
复制
> 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错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-16 13:46:22

正如Sim所指出的,rmongodb 1.0.3不解析主机名

不过,可以通过以下几个注意事项从rmongodb连接到复制集:

  • 您必须包含所有主机名(如果在种子主机列表中找不到主主机,rmongodb将无法连接)
  • 主机名必须以IP的形式提供。
  • 如果使用管理用户,则必须首先访问管理数据库(这至少是预期行为,但值得注意)
  • 只有通过不提供replSet名称才能使连接正常工作。

因此,我的工作连接字符串看起来如下:

代码语言:javascript
复制
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中测试了这一点。

票数 2
EN

Stack Overflow用户

发布于 2012-09-03 05:06:51

从C源来看,rmongodb似乎没有将主机名解析为IP地址。唯一可行的方法就是把IP地址字符串传递给驱动程序.

通过传递IP地址和端口号,您可以连接到其中一个节点。我仍然无法让rmongodb成功地连接到副本集。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12233874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档