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

复制代码 代码如下:
use test2
db.addUser( { user: "test",
              pwd: "admin",
              roles: [ "readWrite", "dbAdmin" ]
            } )

执行后发现:

复制代码 代码如下:
$ 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

检测版本发现

复制代码 代码如下:
$mongo --help
MongoDB shell version: 2.4.9

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

删除旧版本的Client

复制代码 代码如下:
sudo apt-get remove mongodb-clients
sudo apt-get autoremove
sudo apt-get autoclean

安装新的Shell

复制代码 代码如下:
sudo apt-get install mongodb-org-shell=2.6.1
$mongo --help
MongoDB shell version: 2.6.1

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

复制代码 代码如下:
use test2
db.createUser(
   {
     user: "test",
     pwd: "admin",
     roles:
       [
         { role: "readWrite", db: "test2" },
       ]
   }
)

复制代码 代码如下:
$mongo 192.168.1.111/test2 -u test -p admin
MyMongo:PRIMARY>

登录成功!!!!

以上所述就是本文的全部内容了,希望能够对大家理解Mongo数据库有所帮助。

请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!