在仲裁器上更改 mongo 管理员密码
change mongo admin password on an arbiter
我有一个 mongoDB replicaSet,它有 3 个 DB - PRIMARY/SECONDARY + Arbiter。
所有 3 个都以相同的方式安装 - 这意味着它们具有带默认密码的管理数据库。
现在 - 我想更改默认密码。在 primary/secondary 上运行良好。
mongo admin -u admin -p <password> --authenticationDatabase=admin
db.changeUserPassword("admin",<new password>)
但是 - 在仲裁器中它不起作用(即使在 PRIMARY 中添加 rs.slaveOK()
之后)
我得到:
2016-12-01T00:18:51.408-0800 E QUERY [thread1] Error: Updating user failed: not master :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.updateUser@src/mongo/shell/db.js:1319:15
DB.prototype.changeUserPassword@src/mongo/shell/db.js:1323:9
@(shell):1:1
知道如何更改仲裁管理员密码吗?
如果您的副本集设置正确,用户将在 creating/updating 主节点上的用户之后传播到集群的其余部分。
您可以通过登录其中一个辅助设备并执行
来检查这一点
>use admin
>db.system.users.find();
至于仲裁器,它不应该存储任何数据,因此它没有管理数据库来存储用户:
rs01:ARBITER> rs.slaveOk()
rs01:ARBITER> use admin
switched to db admin
rs01:ARBITER> show collections
rs01:ARBITER>
我有一个 mongoDB replicaSet,它有 3 个 DB - PRIMARY/SECONDARY + Arbiter。 所有 3 个都以相同的方式安装 - 这意味着它们具有带默认密码的管理数据库。
现在 - 我想更改默认密码。在 primary/secondary 上运行良好。
mongo admin -u admin -p <password> --authenticationDatabase=admin
db.changeUserPassword("admin",<new password>)
但是 - 在仲裁器中它不起作用(即使在 PRIMARY 中添加 rs.slaveOK()
之后)
我得到:
2016-12-01T00:18:51.408-0800 E QUERY [thread1] Error: Updating user failed: not master :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.updateUser@src/mongo/shell/db.js:1319:15
DB.prototype.changeUserPassword@src/mongo/shell/db.js:1323:9
@(shell):1:1
知道如何更改仲裁管理员密码吗?
如果您的副本集设置正确,用户将在 creating/updating 主节点上的用户之后传播到集群的其余部分。
您可以通过登录其中一个辅助设备并执行
来检查这一点>use admin
>db.system.users.find();
至于仲裁器,它不应该存储任何数据,因此它没有管理数据库来存储用户:
rs01:ARBITER> rs.slaveOk()
rs01:ARBITER> use admin
switched to db admin
rs01:ARBITER> show collections
rs01:ARBITER>