1. <i id="s6b2k"><small id="s6b2k"></small></i>
    <b id="s6b2k"><bdo id="s6b2k"></bdo></b>
  2. <wbr id="s6b2k"></wbr>

    MongoDB 用戶相關操作_MongoDB

    來源:腳本之家  責任編輯:小易  

       在我們第一次啟動MongoDB的時候,僅僅是制定了data數據目錄和log日志目錄,并沒有指定--auth選項,也就是并不需要認證。

    [root@VM-0-14-centos mongo_27017]# mongo
    MongoDB shell version v4.0.6
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("61c35b47-f43b-48fc-a43e-066f56987e9a") }
    MongoDB server version: 4.0.6
    > db
    test
    
    > show dbs;
    admin  0.000GB
    config 0.000GB
    local  0.000GB
    
    > use admin
    switched to db admin
    
    > show users;
    > db.system.user.find()

          我們第一次登錄MongoDB的服務,輸入db,發現當前數據庫是test,但是show dbs卻看不到test數據庫,其實這個是MongoDB的一個特點,test是一個虛的數據庫,想要看到test中的內容,你只需要給test數據庫中插入一個文檔即可。

         接著,我們可以看到,當我們輸入show users的時候,沒有看到任何賬號信息。接下來我們準備開啟--auth參數來重啟MongoDB服務,在重啟之前,我們需要保證已經分配了新的賬號,下面我們開始分配賬號:

    > db.createUser({ user: "root", pwd: "123456", roles: [ { role: "root", db: "admin"} ]}) 
    Successfully added user: {
        "user" : "root",
        "roles" : [
            {
                "role" : "root",
                "db" : "admin"
            }
        ]
    }

    這里,我們可以看到,我們分配了一個賬號:

    user:root     # 用戶名

    pwd:123456 # 密碼

    roles:root    # 角色

    db:admin     # 數據庫

    角色root有必要做一下解釋:

    Read:   允許用戶讀取指定數據庫,
    readWrite:允許用戶讀寫指定數據庫
    dbAdmin: 允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
    userAdmin:允許用戶向system.users集合寫入,可以在指定數據庫里創建、刪除和管理用戶
    clusterAdmin:     只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。
    readAnyDatabase:    只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
    readWriteAnyDatabase: 只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
    userAdminAnyDatabase: 只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
    dbAdminAnyDatabase:  只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
    root:         只在admin數據庫中可用。超級賬號,超級權限

    更詳細的內容,請參看官方文檔:

    https://docs.mongodb.com/manual/reference/built-in-roles/#dbAdmin

    好了,創建好用戶之后,我們重啟MongoDB服務,在配置文件中打開--auth參數,或者直接在命令行里面指定auth參數,重新登陸:

    [root@VM-0-14-centos mongo_27017]# mongo
    MongoDB shell version v4.0.6
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("5f2b0fa6-a1e3-4aaf-b43f-3525e19c33d2") }
    MongoDB server version: 4.0.6
    > 
    > use admin
    switched to db admin
    > show users
    2020-10-28T23:42:06.127+0800 E QUERY  [js] Error: command usersInfo requires authentication :
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    DB.prototype.getUsers@src/mongo/shell/db.js:1763:1
    shellHelper.show@src/mongo/shell/utils.js:859:9
    shellHelper@src/mongo/shell/utils.js:766:15
    @(shellhelp2):1:1
    > db.auth("root","123456")
    1
    > show users
    {
        "_id" : "admin.root",
        "user" : "root",
        "db" : "admin",
        "roles" : [
            {
                "role" : "root",
                "db" : "admin"
            }
        ],
        "mechanisms" : [
            "SCRAM-SHA-1",
            "SCRAM-SHA-256"
        ]
    }

    可以看到,當我們第一次使用show users的命令查看用戶的時候,系統拒絕了我們,顯示:

    Error: command usersInfo requires authentication

    然后我們進行權限校驗:

    use admin

    db.auth("root","123456")

    這下可以了。

    不知道大家有沒有留意到一個細節,我們登陸的時候,使用mongo命令登陸的,然后進行用戶認證,有沒有一種方法可以直接在登陸的時候就進行用戶認證呢?答案是有的。

    登陸方法一:

    mongo

    use admin

    db.auth("user":"password")

    登陸方法二:

    mongo -u "user" -p "password"

    如下:

    [root@VM-0-14-centos mongo_27017]# mongo -u "root" -p "123456"
    MongoDB shell version v4.0.6
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("ef872d7a-77d9-43c2-bf3d-e04867379c0a") }
    MongoDB server version: 4.0.6
    > use admin 
    switched to db admin
    > show users
    {
        "_id" : "admin.root",
        "user" : "root",
        "db" : "admin",
        "roles" : [
            {
                "role" : "root",
                "db" : "admin"
            }
        ],
        "mechanisms" : [
            "SCRAM-SHA-1",
            "SCRAM-SHA-256"
        ]
    }
    >

    到這里,我們已經學會了第一次登陸MongoDB之后,如何進行初始用戶配置、如何開啟MongoDB的認證模式(--auth參數)、以及在登錄的時候如何進行用戶認證,用戶這塊兒還有很多其他內容,下一節我們展開說。

    以上就是MongoDB 用戶相關操作的詳細內容,更多關于MongoDB 用戶操作的資料請關注真格學網其它相關文章!

    您可能感興趣的文章:MongoDB 簡單入門教程(安裝、基本概念、創建用戶)MongoDB數據庫用戶角色和權限管理詳解MongoDB 用戶管理MongoDB在系統數據庫local中無法創建用戶的解決辦法mongodb基礎之用戶權限管理實例教程Mac下安裝配置mongodb并創建用戶的方法Mongodb 3.2.9開啟用戶權限認證問題的步驟詳解MongoDB快速入門筆記(七)MongoDB的用戶管理操作MongoDB系列教程(四):設置用戶訪問權限Windows下MongoDB配置用戶權限實例mongodb 添加用戶及權限設置詳解MongoDB為用戶設置訪問權限

  3. 本文相關:
  4. mongodb存儲時間時差問題的解決方法
  5. mongodb crud操作中的插入實例教程
  6. 詳解mongodb管理命令
  7. 淺析mongodb性能優化的相關問題
  8. robo可視化mongodb實現操作解析
  9. 如何對 mongodb 進行性能優化(五個簡單步驟)
  10. mongodb 崩潰報錯 too many open files的問題解析
  11. mongodb各種查詢操作詳解
  12. 關于mongodb謹防索引seek的效率問題詳析
  13. windows10安裝mongodb4.0詳細步驟及啟動配置教程
  14. mongodb可以一個用戶可以操作多個數據庫嗎
  15. 如何用mongodb設計用戶權限表
  16. mongodb中的用戶,角色,權限該怎么設計
  17. 如何建立一個含有用戶名和密碼的mongodb的數據庫
  18. mongodb 用戶權限有哪些
  19. 如何對MongoDB 3.2.7進行用戶權限管理配置
  20. 如何實現mongodb中的sum匯總操作?
  21. nodejs操作mongodb查詢所有數據
  22. 用戶數據庫是用mongodb好還是用mysql好?
  23. PHP連接mongodb數據庫,登陸后想顯示登錄人的用戶...
  24. 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess數據庫文摘數據庫其它首頁mongodbmongodb 簡單入門教程(安裝、基本概念、創建用戶)mongodb數據庫用戶角色和權限管理詳解mongodb 用戶管理mongodb在系統數據庫local中無法創建用戶的解決辦法mongodb基礎之用戶權限管理實例教程mac下安裝配置mongodb并創建用戶的方法mongodb 3.2.9開啟用戶權限認證問題的步驟詳解mongodb快速入門筆記(七)mongodb的用戶管理操作mongodb系列教程(四):設置用戶訪問權限windows下mongodb配置用戶權限實例mongodb 添加用戶及權限設置詳解mongodb為用戶設置訪問權限mongodb存儲時間時差問題的解決方法mongodb crud操作中的插入實例教程詳解mongodb管理命令淺析mongodb性能優化的相關問題robo可視化mongodb實現操作解析如何對 mongodb 進行性能優化(五個簡單步驟)mongodb 崩潰報錯 too many open files的問題解析mongodb各種查詢操作詳解關于mongodb謹防索引seek的效率問題詳析windows10安裝mongodb4.0詳細步驟及啟動配置教程mongodb常用操作命令大全mongodb各種查詢操作詳解mongodb數據庫插入、更新和刪除操mongodb 數據庫操作--備份 還原 mongodb插入數據的3種方法mongodb中使用distinct去重的簡單淺談mysql和mariadb區別(mariadbmongodb整庫備份與還原以及單個cmongodb查詢操作限制返回字段的方mongodb 實現遠程連接navicat premium連接mongodb詳細教程mongodb索引的優化mongodb 4.0副本集搭建的全過程關于mongodb索引管理-索引的創建、查看、mongodb 多重數組查詢(angularjs綁定顯示mongodb主從復制_動力節點java學院整理mongodb中多表關聯查詢($lookup)的深入mongodb的php驅動方法與技巧深入了解mongodb是如何存儲數據的mongodb增刪改查詳解_動力節點java學院整
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.yu113.com All Rights Reserved
    战天txt全集下载