1

使用Mongodb数据库,需要为各个数据库增加用户权限,查了一下发现下面代码:

javascriptuse test2
db.addUser( { user: "test",
              pwd: "admin",
              roles: [ "readWrite", "dbAdmin" ]
            } )

执行后发现:

bash$ mongo 192.168.1.111/test2 -u test -p admin
MyMongo:PRIMARY>

Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:228

检测版本发现

bash$mongo --help
MongoDB shell version: 2.4.9

我使用的Mongodb是2.6版本,但是Shell是2.4.9的,感觉是这出现了文问题,所以采用下面方案:

删除旧版本的Client

bashsudo apt-get remove mongodb-clients
sudo apt-get autoremove
sudo apt-get autoclean

安装新的Shell

bashsudo apt-get install mongodb-org-shell=2.6.1
$mongo --help
MongoDB shell version: 2.6.1

使用新的(Mongodb 2.6的代码)添加用户

javascriptuse test2
db.createUser(
   {
     user: "test",
     pwd: "admin",
     roles:
       [
         { role: "readWrite", db: "test2" },
       ]
   }
)

bash$mongo 192.168.1.111/test2 -u test -p admin
MyMongo:PRIMARY>

登录成功!!!!

转自:http://blog.yourtion.com/mongodb-2-6-adduser.html


Yourtion
778 声望9 粉丝