1

我在 windows8.1 上运行 MongoDB 并为管理数据库创建了用户。为方便起见,我使用 mongoVUE 来检查数据。但是开启“auth”功能后。我无法登录。

实际上,我可以使用用户名和密码来通过 mongo shell 进行身份验证。此外,我还可以使用它们通过 python 代码进行身份验证。仅当我使用 mongoVUE 或 Robomongo 时,它们才无法工作。

当我单击 mongoVUE 上的“测试”按钮时,它返回一条消息“连接被拒绝”。windows 命令 shell 显示以下语句:

2015-07-03T19:52:34.843+0800 我接受了来自 127.0.0.1:24163 #242 的网络 [initandlisten] 连接(现在打开了 4 个连接)

2015-07-03T19:52:34.845+0800 I ACCESS [conn242] 验证 db: admin { auth enticate: 1, user: "uvpaiad", nonce: "xxx", key: "xxx" }

2015-07-03T19:52:34.846+0800 I ACCESS [conn242] 无法使用 MONGODB-CR 机制验证 uvpaiad @admin:AuthenticationFailed MONGODB-CR 凭证在用户文档中丢失

2015-07-03T19:52:34.847+0800 I NETWORK [conn242] 结束连接 127.0.0.1:24163(现在打开 3 个连接)

有谁知道这是怎么回事?

4

1 回答 1

2

这是因为 MongoDB 最新版本中更改了身份验证机制。在 Mongo 3.X 中,auth 机制更改为 SCRAM-Salted 质询响应认证机制。

为了避免这种情况,需要进入系统用户集合并创建新用户文档并删除旧用户文档。

于 2016-10-19T13:57:43.690 回答