摘要:安裝好時(shí),它為我們默認(rèn)開了一個(gè)最高管理權(quán)限方便我們管理數(shù)據(jù)庫,我們可以用鏈接數(shù)據(jù)庫,就是這個(gè)原理。這節(jié)課我們就學(xué)習(xí)一下的用戶管理。超級(jí)賬號(hào),超級(jí)權(quán)限查找用戶信息刪除用戶建權(quán)如果正確返回,如果錯(cuò)誤返回。。
安裝好MongoDB時(shí),它為我們默認(rèn)開了一個(gè)最高管理權(quán)限方便我們管理數(shù)據(jù)庫,我們可以用mongo鏈接數(shù)據(jù)庫,就是這個(gè)原理。但在實(shí)際開發(fā)中并一般不能使用這個(gè)用戶,因?yàn)榇蠹叶贾篮妥罡邫?quán)限的原因,安全性和可靠性都不適合,所以要對(duì)MongoDB的用戶進(jìn)行管理。這節(jié)課我們就學(xué)習(xí)一下MongoDB的用戶管理。
創(chuàng)建用戶
> db.createUser({ user:"zjj", pwd:"123456", customData:{ name:"zjj", email:"[email protected]", age:18, }, roles:[ { role:"readWrite", db:"company" }, "read" // 對(duì)其他數(shù)據(jù)庫有只讀權(quán)限,對(duì)company是讀寫權(quán)限 ] })
內(nèi)置角色:
數(shù)據(jù)庫用戶角色:read、readWrite;
數(shù)據(jù)庫管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
備份恢復(fù)角色:backup、restore;
所有數(shù)據(jù)庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超級(jí)用戶角色:root
內(nèi)部角色:__system
Read:允許用戶讀取指定數(shù)據(jù)庫
readWrite:允許用戶讀寫指定數(shù)據(jù)庫
dbAdmin:允許用戶在指定數(shù)據(jù)庫中執(zhí)行管理函數(shù),如索引創(chuàng)建、刪除,查看統(tǒng)計(jì)或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以在指定數(shù)據(jù)庫里創(chuàng)建、刪除和管理用戶
clusterAdmin:只在admin數(shù)據(jù)庫中可用,賦予用戶所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限。
readAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀權(quán)限
readWriteAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀寫權(quán)限
userAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的userAdmin權(quán)限
dbAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的dbAdmin權(quán)限。
root:只在admin數(shù)據(jù)庫中可用。超級(jí)賬號(hào),超級(jí)權(quán)限
查找用戶信息
> db.system.users.find()
// 刪除用戶 db.system.users.remove({user:"jspang"})
建權(quán)
// > db.auth("jspang","123456") 1 >如果正確返回1,如果錯(cuò)誤返回0。(Error:Authentication failed。)
登陸
// mongo -u jspang -p 123456 127.0.0.1:27017/admin
看了上面的知識(shí)點(diǎn),我們來親自動(dòng)手操作一下吧
test1
// 我們開始是使用下面的語句來進(jìn)行開機(jī)的 $ mongod --dbpath d:mongodbdata
// 另一個(gè)cmd中連接數(shù)據(jù)庫 $ mongo > // 假設(shè)我們已經(jīng)有了company數(shù)據(jù)庫了 > use admin > db.createUser({ user:"zjj", pwd:"123456", customData:{ name:"zjj", email:"[email protected]", age:18, }, roles:[ { role:"readWrite", db:"company" }, "read" ] }) > db.system.users.find() // 用戶創(chuàng)建完畢之后,關(guān)閉一下數(shù)據(jù)庫 > db.shupdownServer(); // 這次我們以權(quán)限的方式開機(jī) > mongod --dbpath d:mongodbdata --auth > mongo > use admin > db.auth("zjj":"123456"); > 1 // 然后ctrl +c 重新連接一次 > mongo -u zjj -p 123456 127.0.0.1:27017/company > // 沒毛病
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19239.html
摘要:一下安裝數(shù)據(jù)庫進(jìn)入官網(wǎng),選擇相應(yīng)的版本下載,安裝時(shí)默認(rèn)勾選安裝服務(wù)和修改一些數(shù)據(jù)庫配置,如已有數(shù)據(jù)庫連接工具,可取消默認(rèn)勾選的安裝。 一、Win下安裝數(shù)據(jù)庫 進(jìn)入mongo官網(wǎng),選擇相應(yīng)的msi版本下載,安裝時(shí)默認(rèn)勾選安裝MongoD服務(wù)和修改一些數(shù)據(jù)庫配置,如已有數(shù)據(jù)庫連接工具Robo 3T,可取消默認(rèn)勾選的compass安裝。 若啟動(dòng)服務(wù)報(bào)mp錯(cuò)誤,可修改binmongod.cfg...
摘要:插入兩條數(shù)據(jù)建立全文索引需要注意的是這里使用關(guān)鍵詞來代表全文索引,我們?cè)谶@里就不建立數(shù)據(jù)模型了。全文索引查找表示要在全文索引中查東西。全文索引在工作還是經(jīng)常使用的,比如博客文章的搜索,長文件的關(guān)鍵詞搜索,這些都需要使用全文索引來進(jìn)行。 索引 在認(rèn)識(shí)索引的之前我們先建立一張表,并往其中插入200萬條數(shù)據(jù)。 // test.js //生成隨機(jī)數(shù) function GetRandomNum(...
摘要:本次講述安裝的當(dāng)然是免費(fèi)的社區(qū)版。兩種安裝方法手動(dòng)安裝,需要下載安裝包解壓編譯比較繁瑣使用系統(tǒng)的安裝,是系統(tǒng)上的包管理工具,類似的。如文章出現(xiàn)有錯(cuò)誤,麻煩指出或有相關(guān)知識(shí)點(diǎn)討論也十分歡迎 Mac上裝MongoDB的官網(wǎng)教程:https://docs.mongodb.com/manu...,英文不錯(cuò)的可以直接看,教程也很清晰。 兩種版本 MongoDB有兩種版本: 1.(Enterpri...
摘要:旨在為應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。執(zhí)行命令可以顯示當(dāng)前數(shù)據(jù)庫對(duì)象或集合。第二個(gè)指定那些列顯示和不顯示表示不顯示表示顯示。教程教程想要讀取從條記錄后條記錄,相當(dāng)于中。當(dāng)查詢時(shí)同時(shí)使用,無論位置先后最后執(zhí)行順序再再。 MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)...
閱讀 1151·2023-04-26 03:02
閱讀 1192·2023-04-25 19:18
閱讀 2595·2021-11-23 09:51
閱讀 2577·2021-11-11 16:55
閱讀 2631·2021-10-21 09:39
閱讀 1710·2021-10-09 09:59
閱讀 2005·2021-09-26 09:55
閱讀 3532·2021-09-26 09:55