如何为副本集启动身份验证 - MongoDB

时间:2014-02-12 10:12:10

标签: mongodb

没有身份验证的副本集。 我想第一次创建它的身份验证。

我做如下:

1- create [administrator user][1]
2- restarting all member with option `auth=true`
3- login as aadministrator to one member of replica set
4- trying to create user "db.addUser(...)"

但是当我想创建用户时,它会抛出couldn't add user: not master at src/mongo/shell/db.js:128

的异常

我该怎么办?是否可以在现有副本集中启动安全性或者我应该在设置身份验证后删除副本集并重建它。

2 个答案:

答案 0 :(得分:2)

由于您正在配置replicaSet,我认为您需要使用keyFile选项而不是auth = Yes。一旦启用了身份验证,这将允许replicaSet中的节点相互通信。

检查此文档。 http://docs.mongodb.org/manual/tutorial/enable-authentication

答案 1 :(得分:2)

虽然副本集存在,但它不是主服务器或主服务器没有设置。 你可能还没有初始化副本。

https://docs.mongodb.com/manual/tutorial/deploy-replica-set/

setTestDetails

然后你可以创建用户。

> rs.initiate()
> rs.add("secondary-host:27017")
> rs.add("more-hosts-if-exist:27017")
像@Aaron Castro的回答一样。

相关问题