1

我使用最新的 mongo,并尝试按照 Mongo Doc 中的描述设置 SuperUserAdmin。

1) Start ./mongod --dbpath ../data    without auth
2) Run ./mongo
3) [mongo shell]: use admin
4) [mongo shell]: db.addUser( { user: "admin",
              pwd: "abcde1234",
              roles: [ "userAdminAnyDatabase" ] } )
5) [mongo shell]: db.shutdownServer()

then i restart mongod with auth:
6) ./mongod --auth --dbpath ../data
7) Run mongo (as localhost) again: ./mongo -u admin -p abcde1234

Then i get this error:
Javascript executiion failed: Error: 18 {code:18, ok:0.0, errmsg: 'auth fails'} at src/mongo/shell/db.js:L228

我尝试了不同的用户名和密码,同样的事情..

我错过了什么?我在我的 Mac 上运行。

有人知道吗?

4

2 回答 2

3

角色 userAdminAnyDatabase 仅允许用户管理。这就是为什么如果新帐户只有这个角色,它只能对数据库“admin”进行身份验证,即 mongo -u admin -p abcde1234 localhost/admin 应该可以工作。

您可能还想添加角色 dbAdminAnyDatabase。

于 2013-06-09T20:23:40.333 回答
1

尝试

mongo admin -u admin -p abcde1234

否则你将连接到测试数据库而管理员不能。

于 2014-08-01T17:06:09.370 回答