<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker Mongo數據庫開啟用戶認證

       

      一、啟動mongo容器的幾種方式

      #簡化版
      docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles
      
      
      #自定義mongo數據路徑
      docker run --name mongo_rs1 -v ~/test/mongo_sr1:/mongodb -p 37117:27017 -d mongo mongod --logpath /mongodb/mongo.log  --logappend --dbpath /mongodb
      
      
      #開啟mongo雙主配置
      docker run --name mongo_rs2 -v ~/test/mongo_sr2:/mongodb -p 37118:27017 -d mongo mongod --logpath /mongodb/mongo.log  --logappend --dbpath /mongodb --master --slave --port=27017 --autoresync  --source=192.168.118.73:37117
      
      
      #常規,用mongo默認數據路徑,并掛載出來
      docker run  --name mongodb_alpha -d --dns=192.168.1.26 -p 37017:27017 -v /home/devsa_dev/mongo_data/configdb:/data/configdb -v /home/devsa_dev/mongo_data/db:/data/db mongo

       

      而按照上述幾種方式啟動的Mongo容器,默認是不帶密碼訪問的,也就是說,只有別人知道你的ip和映射出來的端口,即可操作你的mongo數據庫

       

      二、如何開啟mongo容器密碼認證

      在運行時,增加--auth參數,用簡化版來作為示例

      docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles --auth

       

      三、關于mongo用戶認證

      mongodb密碼和傳統數據如mysql等有些區別:

      1. mongodb的用戶名和密碼是基于特定數據庫的,而不是基于整個系統的。所有所有數據庫db都需要設置密碼

       

      mongodb設置管理用戶和密碼:

      show dbs
      在mongodb新版本里并沒有admin數據庫,但是并不妨礙第2步操作。
      
      #進入admin數據庫
      use admin 
      #創建管理員賬戶 db.createUser(
      { user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) mongodb中的用戶是基于身份role的,該管理員賬戶的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用戶管理身份,’AnyDatabase’ 代表可以管理任何數據庫。 #驗證第3步用戶添加是否成功 db.auth("useradmin", "adminpassword") 如果返回1,則表示成功。

       

      進入mongodb,用第3步的 管理員賬戶登錄,用該賬戶創建其他數據庫管理員賬號

      use admin
      db.auth("useradmin", "adminpassword")

       

      新建你需要管理的mongodb 數據的賬號密碼

      use yourdatabase
      
      db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })

      注:dbOwner 代表數據庫所有者角色,擁有最高該數據庫最高權限。

       

      新建數據庫讀寫賬戶

      use yourdatabase
      db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })

      注:該用戶用于該數據的讀寫,只擁有讀寫權限。

       

      內建角色

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

      Mongodb 用戶驗證登陸

      第一種 (類似 MySql)

      客戶端連接時,指定用戶名,密碼,db名稱
      
      mongo --port 27017 -u "adminUser" -p "adminPass" --authenticationDatabase "admin"

       

      第二種
      客戶端連接后,再進行驗證

      mongo --port 27017
      
      use admin
      db.auth("adminUser", "adminPass")
      // 輸出 1 表示驗證成功

      第三種:

      進入容器中
      mongo admin -u username -p passwd

       

      URI 形式的訪問

      生產中常用 URI 形式對數據庫進行連接

      mongodb://your.db.ip.address:27017/foo

       

      添加用戶名密碼驗證

      mongodb://simpleUser:simplePass@your.db.ip.address:27017/foo

      實例:

      #形式一
      connect(host='mongodb://root:mongo@172.20.10.144:37017/ppmoney_website_minder') #形式二 connect(host='mongodb://root:mongo@172.20.10.144:37017/db?authSource=ppmoney_website_minder')

       

       

      四、實例演示

      啥?你還不會,那我接下來,給大家演示一下吧

       

      1、新建容器,并開啟--auth

      docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles --auth

       

      2、進入容器,操作

      #進入容器
      docker exec -it mongo1 bash
      
      #進入Mongo
      mongo
      
      #切庫,新增用戶
      use admin;
      
      db.createUser({ user: "root", pwd: "mongo", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

       

      3、認證驗證

       

      方式一,在mongo中可用db.auth()認證

      db.auth('root','mongo')

       

      方式二:退出mongo后,重新進入

      可以先直接mongo進入,然后show dbs,發現報錯

       

      認證進入:mongo admin -u root -p mongo

       

       

      方式三:Robo客戶端工具連接

      如果不認證,直接連接測試,提示失敗

      認證后,重新測試連接:

       

      4、再來新建一個其它數據庫的用戶

       

      #新建庫
      use ppmoney_website_minder
      
       
      #新建用戶
      db.createUser(
      ... {
      ... user: "root",
      ... pwd: "mongo",
      ... roles: [ { role: "readWrite", db: "ppmoney_website_minder" }, ]
      ... }
      ... )
      
       
      #認證
      db.auth('root','mongo')
      
        
      #插入數據
      db.runoob.insert({"name":"ppmoney_website_minder"})

       

      用Mongo客戶端連接驗證:

       

       

       

      到此,就給大家演示了一下,如何對mong開啟用戶認證~ 

      posted @ 2018-07-13 16:28  狂師  閱讀(12236)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 无码国产偷倩在线播放老年人| 热久在线免费观看视频| 大方县| 亚洲精品一区二区三区大桥未久| 色综合久久精品中文字幕| 亚洲国产午夜精品理论片在线播放| 亚洲国产欧美一区二区好看电影 | 中文字幕日韩精品国产| 99久久亚洲综合精品成人网| 女人张开腿无遮无挡视频| 国产真实露脸乱子伦原著| 国产无遮挡猛进猛出免费| 国产精品美女久久久久久麻豆| 曰本丰满熟妇xxxx性| 自拍偷拍第一区二区三区| 日本一区不卡高清更新二区| 日本高清一区二区三| 色综合天天色综合久久网| 欧美交A欧美精品喷水| 亚洲人妻一区二区精品| 亚洲午夜av一区二区| 精品不卡一区二区三区| 久久99精品国产99久久6男男| 亚洲第一香蕉视频啪啪爽| 亚州中文字幕一区二区| 亚洲日韩乱码一区二区三区四区| 四虎国产精品永久地址99| 亚洲国产一区二区精品专| 特黄大片又粗又大又暴| 男女做aj视频免费的网站| 人妻中文字幕亚洲精品| 天堂√最新版中文在线地址| 国产精品一区二区三区黄| 亚洲avav天堂av在线网爱情| 人人妻一区二区三区| 人妻无码| 91福利国产成人精品导航| 亚洲码国产精品高潮在线| 艳妇乳肉豪妇荡乳在线观看| 宝山区| 天堂网在线.www天堂在线资源|