gpt4 book ai didi

mongodb - 无法针对添加到 2.6.8 副本集的 Mongodb 3.0.1 成员进行身份验证

转载 作者:可可西里 更新时间:2023-11-01 10:43:14 25 4
gpt4 key购买 nike

我们有一个运行 2.6.8 的副本集,我正在尝试添加一个使用 WiredTiger 引擎运行 3.0.1 的成员。我试图通过一次更换一个成员来将副本集滚动更新到 3.0.1。数据似乎已复制,但我无法使用 mongo shell 进行身份验证。

MongoDB shell version: 3.0.1
connecting to: test
rs:SECONDARY> use admin
switched to db admin
rs:SECONDARY> db.auth("admin", "password")
Error: 18 Authentication failed.
0

日志中还充满了以下内容:

Failed to authenticate admin@admin with mechanism MONGODB-CR: AuthenticationFailed UserNotFound Could not find user admin@admin
Failed to authenticate user@collection with mechanism MONGODB-CR: AuthenticationFailed UserNotFound Could not find user user@collection

我不确定用户是否没有随数据一起复制,或者这是否与 3.0 中更改的身份验证机制有关。

我只在我们的生产副本集上看到这个问题。我首先尝试了我们的测试副本集,没有任何问题。我在生产环境中尝试过多次,每次都启动一个新的干净的 AWS 实例,每次我都遇到同样的问题。生产和测试之间的唯一区别是 IP 和数据量。生产有 >2TB 的数据,而测试有 <1GB。 Monogdb 在 Amazon Linux 上运行,使用来自 http://repo.mongodb.org/yum/redhat/6/mongodb-org/3.0/x86_64/ 的包yum 存储库。

最佳答案

问题是授权架构仍在使用 2.4 版架构,即使副本集的所有成员都运行 2.6。

Mongodb < 3.0.2 在同步之前不检查这个,但他们在 3.0.2 中更改它以在尝试同步之前给出错误。

在添加版本 3 成员之前,在副本集的主节点上运行 db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 });

关于mongodb - 无法针对添加到 2.6.8 副本集的 Mongodb 3.0.1 成员进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29216752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com