初始安裝完成後,存在3個數據庫,無密碼。
一、找到安裝位置
二、客戶端登入,創建用戶和密碼
1、找到客戶端mongo.exe
登陸命令是mongo.exe 數據庫 -u 用戶 -p 密碼
不寫參數默認登入test數據庫,可以嘗試插入數據看看效果
2、創建用戶和密碼
命令是
use admin
db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
}
)
可以選擇的role有:
角色說明:
Read: 允許用戶讀取指定數據庫
readWrite: 允許用戶讀寫指定數據庫
dbAdmin: 允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin: 允許用戶向system.users集合寫入,可以找指定數據庫裡創建、刪除和管理用戶
dbOwner: 允許在當前DB中執行任意操作
readAnyDatabase: 賦予用戶所有數據庫的讀權限,只在admin數據庫中可用
readWriteAnyDatabase: 賦予用戶所有數據庫的讀寫權限,只在admin數據庫中可用
userAdminAnyDatabase:賦予用戶所有數據庫管理User的權限,只在admin數據庫中可用
dbAdminAnyDatabase: 賦予管理所有數據庫的權限,只在admin數據庫中可用
root: 超級賬號,超級權限,只在admin數據庫中可用。
三、打開服務的密碼驗證選項
1、卸掉服務,然後按有密碼方式install為系統服務
原始的服務配置是"C:\\Program Files\\MongoDB\\Server\\4.0\\bin\\mongod.exe" --config "C:\\Program Files\\MongoDB\\Server\\4.0\\bin\\mongod.cfg" --service
可以在註冊表中查詢到,以便確定配置文件路徑
sc delete MongoDB
2、刪除成功後,重新配置服務
刪除成功後,重新配置服務
mongod.exe --auth --config "指定路徑的\\mongod.cfg" --install
例如:
mongod.exe --auth --config "C:\\Program Files\\MongoDB\\Server\\4.0\\bin\\mongod.cfg" --install
注意在管理器中把後臺的服務進程關掉,否則日誌文件打不開。
四、創建其他用戶等常用命令
每個庫分別創建用戶,在admin中創建的用戶可以分配到其他庫的權限,
創建用戶
db.createUser(
{
user: "xxxx",
pwd: "123456",
roles: [ { role: "dbOwner", db: "目標庫" } ]
}
)
注意,直接在admin庫下創建其他庫的用戶是這樣的
{
"_id" : "admin.yzd",
"user" : "yzd",
"db" : "admin",
"roles" : [
{
"role" : "dbOwner",
"db" : "test"
}
]
}
如果切換到其他庫或者直接登入的是其他庫,創建的用戶是這樣的
{
"_id" : "test.yzd",
"user" : "yzd",
"db" : "test",
"roles" : [
{
"role" : "dbOwner",
"db" : "test"
}
]
}
所以,創建用戶建議切換到所在數據庫上後再創建,否則還是屬於admin庫只是有其他庫權限,無法直接登入目標庫,需要先登入admin後再切換。
驗證下密碼設置是否成功,1表示登錄成功,0表示登錄失敗
db.auth("root","123456")
列出當前庫的用戶
show users
列出所有庫的用戶
db.system.users.find().pretty()
刪除單個用戶 (root權限下)
db.system.users.remove({user:"XXXXXX"})
刪除所有用戶
db.system.users.remove({})
刪除指定庫用戶(主要是避免不用庫有同名用戶)
db.system.users.remove({user:"用戶",db:"庫"})
修改密碼
db.changeUserPassword('yzd','test')
閱讀更多 有隻狗狗叫多多 的文章