使用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資料庫有所協助。
請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支援!