由于mongodb3.0之后創(chuàng)建用戶的方式和之前有所不同,本文只列出3.0版本的創(chuàng)建方式
一.首先開啟mongodb的服務
mongod --config /usr/local/etc/mongod.conf//啟動mongod服務,按照自己的實際情況修改路徑
二.在admin數據庫中創(chuàng)建用戶
1.切換數據庫到admin
use admin
2.此命令可以查看該數據庫之前有多少個用戶
db.system.users.find();
3.創(chuàng)建用戶
db.createUser(
{
user: "cxcy",
pwd: "CxCy123",
roles: [ { role: "readWrite",db: "cxcy" } ]//可配置多個角色,root指擁有所有權限(只有admin數據庫可以使用,db指數據庫名稱)
}
)
內置角色對照表
1. 數據庫用戶角色:read、readWrite;
2.數據庫管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5.所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級用戶角色:root
7. 內部角色:__system
角色含義
Read:允許用戶讀取指定數據庫
readWrite:允許用戶讀寫指定數據庫
dbAdmin:允許用戶在指定數據庫中執(zhí)行管理函數,如索引創(chuàng)建、刪除,查看統(tǒng)計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫里創(chuàng)建、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級賬號,超級權限
4.修改配置文件,設置校驗用戶權限
修改后保存重啟服務即可
5.測試用戶校驗是否起作用了
5.1show dbs
5.2到admin數據庫中去登錄
use admin;//使用admin數據庫
db.auth('root','root')//剛才設置的賬號密碼
到此為止,創(chuàng)建用戶已經成功了,大家可以為不同的數據庫創(chuàng)建不同的用戶權限,具體可參照用戶權限表