最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MongoDB為用戶設(shè)置訪問權(quán)限

 更新時間:2012年11月23日 10:14:03   作者:  
MongoDB已經(jīng)使用很長一段時間了,基于MongoDB的數(shù)據(jù)存儲也一直沒有使用到權(quán)限訪問 MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制
MongoDB已經(jīng)使用很長一段時間了,基于MongoDB的數(shù)據(jù)存儲也一直沒有使用到權(quán)限訪問(MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制),今天特地花了一點時間研究了一下,研究成果如下:

注:研究成果基于Windows平臺
MongoDB在本機安裝部署好后
1. 輸入命令:show dbs,你會發(fā)現(xiàn)它內(nèi)置有兩個數(shù)據(jù)庫,一個名為admin,一個名為local。local好像沒啥用,如果哪位在使用過程中發(fā)現(xiàn)了這個local表的用途,希望能夠留言提醒,那我們就專心來說說admin表
2. 輸入命令:use admin,你會發(fā)現(xiàn)該DB下包含了一個system.user表,呵呵,沒錯,這個表就等同于MsSql中的用戶表,用來存放超級管理員的,那我們就往它里面添加一個超級管理員試試看
3. 輸入命令:db.addUser('sa','sa'),這里我添加一個超級管理員用戶,username為sa,password也為sa,即然我們添加了超級管理員,那咱們就來測試下,看看咱們再次連接MongoDB需不需要提示輸入用戶名、密碼,我們先退出來(ctrl+c)
4. 輸入命令:use admin
5. 輸入命令:show collections,查看該庫下所有的表,你會發(fā)現(xiàn),MongoDB并沒有提示你輸入用戶名、密碼,那就奇怪了,這是怎么回事呢?在文章最開始提到了,
MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制,即然這樣,那我們就先把它設(shè)置成為需要權(quán)限訪問限制,咱們再看看效果,怎么設(shè)置呢?
6. 在注冊表中,找到MongoDB的節(jié)點,在它的ImgPath中,我們修改一下,加入 -auth,如下所示:
"D:\Program Files\mongodb\bin\mongod" -dbpath e:\work\data\mongodb\db -logpath e:\work\data\mongodb\log -auth -service
7. 輸入命令:use admin
8. 輸入命令:show collections,呵呵,我們發(fā)現(xiàn)無法查看該庫下的表了,提示:"$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",很明顯,提示沒有權(quán)限,看來關(guān)鍵就在于這里,我們在啟動MongoDB時,需要加上-auth參數(shù),這樣我們設(shè)置的權(quán)限才能生效,好,接下來我們使用剛剛之前設(shè)置的用戶名、密碼來訪問
9. 輸入命令:db.auth('sa','sa'),輸出一個結(jié)果值為1,說明這個用戶匹配上了,如果用戶名、密碼不對,會輸入0
10. 輸入命令:show collections,呵呵,結(jié)果出來了,到這里,權(quán)限設(shè)置還只講到一多半,接著往下講,我們先退出來(ctrl+c)
11. 輸入命令:mongo TestDB,我們嘗試連接一個新的庫(無論這個庫是否存在,如果不存在,往該庫中添加數(shù)據(jù),會默認(rèn)創(chuàng)建該庫),然后,我們想看看該庫中的表
12. 輸入命令:show collections,好家伙,沒權(quán)限,我們輸入上面創(chuàng)建的用戶名、密碼
13. 輸入命令:db.auth('sa','sa'),輸入結(jié)果0,用戶不存在,這下有人可能就不明白了,剛剛前面才創(chuàng)建,怎么會不存在呢?原因在于:當(dāng)我們單獨訪問MongoDB的數(shù)據(jù)庫時,需要權(quán)限訪問的情況下,用戶名密碼并非超級管理員,而是該庫的system.user表中的用戶,注意,我這里說的是單獨訪問的情況,什么是不單獨訪問的情況呢?接下來再講,現(xiàn)在咋辦,沒權(quán)限,那我們就嘗試給庫的system.user表中添加用戶
14. 輸入命令:db.addUser('test','111111'),哇靠,仍然提示沒有權(quán)限,這可咋辦,新的數(shù)據(jù)庫使用超級管理員也無法訪問,創(chuàng)建用戶也沒有權(quán)限,呵呵,別急,即然設(shè)定了超級管理員用戶,那它就一定有權(quán)限訪問所有的庫
15. 輸入命令:use admin
16. 輸入命令:db.auth('sa','sa')
17. 輸入命令:use TestDB
18. 輸入命令:show collections,哈哈,一路暢通無阻,我們發(fā)現(xiàn)可以利用超級管理員用戶訪問其它庫了,呵呵,這個就是不單獨訪問的情況,不難發(fā)現(xiàn),我們是先進(jìn)入admin庫,再轉(zhuǎn)到其它庫來的,admin相當(dāng)于是一個最高級別官員所在區(qū)域,如果你是個地產(chǎn)商,想在地方弄個大工程做做,你想不經(jīng)過那些高級官員就做,這是行不通的,你需要先去到他們那里,送點禮,再順著下到地方,工程你就可以拿到手了,此言論僅為個人觀點,不代表博客園;即然工程拿到手了,就要開始建了,那我們不至于每加塊磚、添個瓦都得去和那幫高級官員打招呼吧,所以我們得讓這個工程合法化,咱們得把相關(guān)的手續(xù)和證件弄齊全,不至于是違建
19. 輸入命令:db.addUser('test','111111'),我們給TestDB庫添加一個用戶,以后每次訪問該庫,我都使用剛剛創(chuàng)建的這個用戶,我們先退出(ctrl+c)
20. 輸入命令:mongo TestDB
21. 輸入命令:show collections,提示沒有權(quán)限
22. 輸入命令:db.auth('test','111111'),輸出結(jié)果1,用戶存在,驗證成功
23. 輸入命令:show collections,沒再提示我沒有權(quán)限,恭喜您,成功了
注:當(dāng)需要使用權(quán)限才能訪問MongoDB時,如果需要查看MongoDB中所有的庫,我們只能通過超級管理員權(quán)限,輸入命令show dbs來查看了。

相關(guān)文章

  • MongoDB 復(fù)制(副本集)學(xué)習(xí)筆記

    MongoDB 復(fù)制(副本集)學(xué)習(xí)筆記

    這篇文章主要介紹了MongoDB 復(fù)制(副本集),結(jié)合實例形式分析了MongoDB數(shù)據(jù)庫復(fù)制的相關(guān)原理、配置、使用方法及操作注意事項,需要的朋友可以參考下
    2019-10-10
  • MongoDB為什么比Mysql快原理解析

    MongoDB為什么比Mysql快原理解析

    這篇文章主要為大家介紹了MongoDB為什么比Mysql快原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • MongoDB常用操作匯總

    MongoDB常用操作匯總

    MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。MongoDB 旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
    2017-05-05
  • MongoDB分片集群部署詳解

    MongoDB分片集群部署詳解

    這篇文章主要介紹了MongoDB分片集群部署詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • mongodb實現(xiàn)同庫聯(lián)表查詢方法示例

    mongodb實現(xiàn)同庫聯(lián)表查詢方法示例

    在關(guān)系型數(shù)據(jù)庫中,通過連接運算符可以實現(xiàn)多個表聯(lián)合查詢。而非關(guān)系型數(shù)據(jù)庫的特點是表之間屬于弱關(guān)聯(lián),下面這篇文章主要給大家介紹了關(guān)于mongodb實現(xiàn)同庫聯(lián)表查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • mongodb命令行連接及基礎(chǔ)命令總結(jié)大全

    mongodb命令行連接及基礎(chǔ)命令總結(jié)大全

    大家可能平時在開發(fā)過程中都使用客戶端工具來連接和查詢mongodb,但是一般生產(chǎn)當(dāng)中的數(shù)據(jù)庫是不允許本地客戶端連接的,下面這篇文章主要給大家介紹了關(guān)于mongodb命令行連接及基礎(chǔ)命令總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • MongoDB數(shù)據(jù)庫基本概念解析

    MongoDB數(shù)據(jù)庫基本概念解析

    這篇文章介紹了MongoDB數(shù)據(jù)庫的一些基本概念,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • CentOS8?安裝MongoDB?本地連接的操作方法

    CentOS8?安裝MongoDB?本地連接的操作方法

    MongoDB 是一個由 C++ 語言編寫的基于分布式文件存儲的數(shù)據(jù)庫,MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的,這篇文章主要介紹了CentOS8?安裝MongoDB?本地連接,需要的朋友可以參考下
    2022-11-11
  • MongoDB中強大的統(tǒng)計框架Aggregation使用實例解析

    MongoDB中強大的統(tǒng)計框架Aggregation使用實例解析

    這篇文章主要介紹了MongoDB中強大的統(tǒng)計框架Aggregation使用實例解析,文中舉了Python和Java使用Aggregation的數(shù)據(jù)統(tǒng)計例子進(jìn)行講解,需要的朋友可以參考下
    2016-01-01
  • MongoDB實現(xiàn)問卷/考試設(shè)計功能

    MongoDB實現(xiàn)問卷/考試設(shè)計功能

    MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。。本文給大家分享MongoDB實現(xiàn)問卷/考試設(shè)計,需要的朋友可以參考下
    2019-11-11

最新評論

新建县| 抚远县| 大竹县| 梓潼县| 静宁县| 疏附县| 新源县| 山东| 莒南县| 赣榆县| 波密县| 益阳市| 大足县| 获嘉县| 潞西市| 新乐市| 巴彦淖尔市| 漳平市| 邹城市| 定结县| 余姚市| 宁化县| 商都县| 宝山区| 利川市| 登封市| 盐城市| 蛟河市| SHOW| 共和县| 澄城县| 衡阳县| 许昌县| 翼城县| 普洱| 怀仁县| 彰化县| 遵化市| 北碚区| 石狮市| 百色市|