登錄認(rèn)證
db.auth('root','root');
如下:
1:表示成功 0:代表失敗
mongoDB常用的shell命令
命令 | 說明 |
---|---|
show dbs | 顯示數(shù)據(jù)庫列表 |
use | 切換數(shù)據(jù)庫 |
show collections | 顯示數(shù)據(jù)庫的所有表 |
show users | 顯示當(dāng)前數(shù)據(jù)庫的用戶列表 |
show roles | 顯示當(dāng)前數(shù)據(jù)庫的角色列表 |
show profile | 顯示最近發(fā)生的操作 |
load | 執(zhí)行一個JavaScript腳本 |
quit | 推出當(dāng)前shell |
使用help命令可以獲取mongo shell的常用命令
MongoDB權(quán)限
MongoDB的權(quán)限和傳統(tǒng)數(shù)據(jù)庫的權(quán)限不一樣,MongoDB除了全局用戶之外每個數(shù)據(jù)庫都有自己單獨(dú)的用戶表计盒,以及用戶權(quán)限奉呛。
創(chuàng)建超級用戶
安裝完之后,打開命令行蕾各,進(jìn)入MongoDB安裝目錄,在bin目錄下執(zhí)行MongoDB啟動庆揪,該模式下是不需要安全認(rèn)證的模式式曲。
use admin # 切換數(shù)據(jù)庫
db.createUser({
user: 'admin',
pwd:'admin',
roles:[{
role:'root',
db:'admin'
}]
})
user用戶名
pwd密碼
db:指定用戶的數(shù)據(jù)庫,admin是用于權(quán)限控制的數(shù)據(jù)庫缸榛,如果沒有需要新建一個
roles:指定用戶的角色吝羞,可以用一個空數(shù)組給新的用戶設(shè)定空角色;在roles字段仔掸,可以指定內(nèi)置角色和用戶自定義的角色脆贵,role里的角色可以選的角色如下:
Built-In Roles(內(nèi)置角色):
- 數(shù)據(jù)庫用戶角色: read, readWrite;
- 數(shù)據(jù)庫管理角色:dbAdmin, dbOwner, userAdmin;
- 集群管理角色:clusterAdmin, clusterManager, clusterMonitor, hostManager;
- 備份恢復(fù)角色:backup, restore;
- 所有數(shù)據(jù)庫角色:readAnyDatabase, readWriteAnyDatabase, userAdminAnyDatabase, dbAdminAnyDatabase;
- 超級用戶角色: root,
- 內(nèi)部角色: __system
修改用戶權(quán)限
db.updateUser('admin', [{role:'readWrite',db:'admin'}])
updateUser它是完全替換之前的值,如果要新增或添加roles而不是替換它則可以選擇db.grantRolesToUser()和db.revokeRolesFromUser()
db.grantRolesToUser('admin', [{role:'readWrite',db:'admin'}]);#追加權(quán)限
db.revokeRolesFromUser('admin', [{role:'readWrite',db:'admin'}]);#刪除權(quán)限
刪除用戶
db.dropUser('admin')