我使用最新的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上运行。任何人都有任何想法?
答案 0 :(得分:3)
角色userAdminAnyDatabase仅允许用户管理。这就是为什么如果新帐户只有这个角色,它只能对数据库“admin”进行身份验证,即mongo -u admin -p abcde1234 localhost / admin应该可以工作。
您可能还想添加角色dbAdminAnyDatabase。
答案 1 :(得分:0)
试
mongo admin -u admin -p abcde1234
否则您将连接到测试数据库,管理员无法连接。