Mongodb:验证了太多用户

时间:2019-05-16 08:59:17

标签: mongodb authentication authorization

我尝试对我的数据库进行授权并获得一些记录,但是出现了这个奇怪的错误:

enter image description here 我该如何解决?

4 个答案:

答案 0 :(得分:0)

不确定this ticket是否相关,因为我仍然在MongoDB 4.0.9中看到此问题,但是我解决该问题的方法是不使用db.auth()而是退出Shell,然后再次登录:

mongo --ssl mongodb://myhost.io --authenticationDatabase admin -u adminUser -p

答案 1 :(得分:0)

您授权的用户过多。一种解决方案是先退出外壳,然后尝试再次授权:

mongo

创建连接时无需授权

use your_file_db

现在您可以使用

db.auth("db_user","db_pass")

现在您可以获取记录了。
或者,您可以直接授权超级管理员,也可以在数据库中获取记录。

答案 2 :(得分:0)

根据以下mongodb jira问题,每个会话仅允许一次身份验证 https://jira.mongodb.org/browse/SERVER-40967

您只能在通过mongo shell连接时使用的mongodb中使用该用户。

为任何其他用户执行db.auth()都会出错。

答案 3 :(得分:0)

您需要使用db.logout()来注销用户,更重要的是,必须在当前用户(您要注销的用户)有权访问的数据库内部进行此操作。

例如,假设您当前在admin数据库中。如果您切换到其他数据库然后注销,然后使用新用户登录,则会显示此错误。