繁体   English   中英

MongoDB身份验证访问数据库

[英]MongoDB authentication access to the database local

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

auth = true

然后,我在每个集合中创建了具有特定角色的用户。 它运作良好。

但我有RockMongo连接到此实例,我有这个错误:

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

我试图连接到“本地”数据库,并像这样创建一个新用户:

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

有什么想法,为什么?

谢谢你的帮助。

您无法在本地数据库中创建用户http://docs.mongodb.org/manual/reference/method/db.createUser/#local-database

相反,您可以在admin数据库中创建可以在本地db中读取的用户:

use admin
db.createUser(
   {
      user: "XXX",
      pwd: "YYY",
      roles: [ { role: "readWrite", db: "local" } ]
   }
)

以用户XXX身份登录时,请务必指定--authenticationDatabase admin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM