我正在使用 MongoDB 3.0.3,在创建用户时遇到问题。
我使用 db.addUser('admin', '....') 在 admin 数据库上创建了一个用户。我赋予它 dbAdminAnyDatabase 权限。内容的输出是 JSON 中的用户帐户。db.system.users.find 报告(如图所示)该用户存在。
但是,当我进入管理数据库上的 db.auth 时,我总是收到错误“auth failed code 18”
当我尝试从命令行登录时,出现相同的错误,但这次日志中出现了以下消息:
2015-05-25T00:11:47.781-0500 I ACCESS [conn15] SCRAM-SHA-1 authentication failed for admin on admin from client 127.0.0.1 ; UserNotFound Could not find user admin@admin
我做错了什么?我使用了 Arch 的基本安装。它没有在配置中使用 auth = true 启动。
答案1
我遇到的问题是,我使用了 addUser,但这是针对 mongo 2.x 系列的。现在你需要删除该用户(这是强制的),并使用 createUser 和 updateUser。
另外要注意的是,Robomongo 仅适用于 mongodb 2.x。3.0 支持将在 0.9 版本中推出。
这真是太令人沮丧了。