MongoDB对本地数据库的身份验证访问

MongoDB对本地数据库的身份验证访问,mongodb,authentication,Mongodb,Authentication,我刚刚将MongoDB实例从2.4.x升级到最新的2.6。我将Mongo配置为通过更新此属性来启用身份验证: auth = true 然后,我在每个集合中创建了具有特定角色的用户。而且效果很好 但我已将RockMongo连接到此实例,我有以下错误: 无法连接到:XXX:YYY:对用户名为“ZZZZ”的数据库“local”的身份验证失败:身份验证失败 我尝试连接到“本地”数据库,并创建一个新用户,如下所示: use local db.createUser( { user: "XXX"

我刚刚将MongoDB实例从2.4.x升级到最新的2.6。我将Mongo配置为通过更新此属性来启用身份验证:

auth = true
然后,我在每个集合中创建了具有特定角色的用户。而且效果很好

但我已将RockMongo连接到此实例,我有以下错误:

无法连接到:XXX:YYY:对用户名为“ZZZZ”的数据库“local”的身份验证失败:身份验证失败

我尝试连接到“本地”数据库,并创建一个新用户,如下所示:

use local
db.createUser(
  {
    user: "XXX",
    pwd: "YYY",
    roles: [ { role: "readWrite", db: "local" }, { role: "userAdminAnyDatabase", db: "local" } ]
  }
)
但是,我得到一个错误:

2015-02-20T15:49:55.892+0000错误:无法添加用户:无法创建 位于src/mongo/shell/db.js的本地数据库中的用户:1004

知道吗,为什么


感谢您的帮助。

您无法在本地数据库中创建用户

相反,您可以在管理数据库中创建可以在本地数据库中读写的用户:

use admin
db.createUser(
   {
      user: "XXX",
      pwd: "YYY",
      roles: [ { role: "readWrite", db: "local" } ]
   }
)
以用户XXX身份登录时,请确保指定
--authenticationDatabase admin