mongodb設置用戶名和密碼
需求:我們需要在一個mongodb上面新建兩個數據庫,每個數據庫的用戶名和密碼不一樣,講道理來說我們直接設置admin,就可以控制所有的數據庫,不過用起來總是感覺有各種問題,目前還不太熟悉mongodb,所以直接對不同的數據庫設置用戶名和密碼,可以達到預期的效果。用mongobooster測試的時候沒有輸入用戶名和密碼會看不到數據庫。
mongodb的用戶名和密碼是對應到每個具體的數據庫的。
這裏記錄一下一些命令:
1、首先我們啟動mongodb的時候,如果需要修改就以普通方式啟動
mongod -f /etc/mongod.conf
新建數據庫testlog
use logmanagerment
創建表
db.createCollection("Account")
這個時候如果重啟mongodb就能發現我們多了一個數據庫了,現在我們設置用戶名和密碼,[email protected],放在url中可能沖突username:[email protected]:27017
db.createUser(
{
user: "username",
pwd: "password",
roles: [ {role:"readWrite", db:"testlog"} ]
}
)
創建另一個數據庫是一樣的,創建完了以後需要kill掉以前的mongodb進程,ps -ef| grep mongod,然後kill掉它,然後以權限的方式啟動,mongod --auth -f /etc/mongod.conf,然後我們連接,發現權限已經設置成功
2、如果我們需要修改已有的用戶名和密碼,首先需要關掉已有的mongodb進程,然後已普通方式啟動mongodb
use yourdatabase
db.changeUserPassword("username","password") //回車後沒有反應,其實已經修改過來了,重啟mongodb,以需要權限的方式啟動,就能看到效果了
mongodb設置用戶名和密碼