mongodb使用者權限操作常用命令

來源:互聯網
上載者:User

標籤:mongodb

    由於公司還有幾台mongodb的資料庫,需要開放某部分許可權給外部人員使用,所以這裡記錄一下,僅供需要的朋友使用。


1. MongoDB常用命令

[[email protected] ~]# ps -ef|grep mongod[[email protected] ~]# mongo --host=127.0.0.1 --port=27017MongoDB shell version: 3.2.7connecting to: 127.0.0.1:27017/test> show dbs  #顯示資料庫列表 > show collections  #顯示當前資料庫中的集合(類似關聯式資料庫中的表)> show users  #顯示使用者> use <db name>  #切換當前資料庫,如果資料庫不存在則建立資料庫。 > db.help()  #顯示資料庫操作命令,裡面有很多的命令 > db.foo.help()  #顯示集合操作命令,同樣有很多的命令,foo指的是當前資料庫下,一個叫foo的集合,並非真正意義上的命令 > db.foo.find()  #對於當前資料庫中的foo集合進行資料尋找(由於沒有條件,會列出所有資料) > db.foo.find( { a : 1 } )  #對於當前資料庫中的foo集合進行尋找,條件是資料中有一個屬性叫a,且a的值為1> db.dropDatabase()  #刪除當前使用資料庫> db.cloneDatabase("127.0.0.1")   #將指定機器上的資料庫的資料複製到當前資料庫> db.copyDatabase("mydb", "temp", "127.0.0.1")  #將原生mydb的資料複製到temp資料庫中> db.repairDatabase()  #修複當前資料庫> db.getName()  #查看當前使用的資料庫,也可以直接用db> db.stats()  #顯示當前db狀態> db.version()  #當前db版本> db.getMongo()  #查看當前db的連結機器地址> db.serverStatus()  #查看資料庫伺服器的狀態

2. MongoDB資料庫角色

內建的角色 資料庫使用者角色:read、readWrite; 資料庫管理角色:dbAdmin、dbOwner、userAdmin; 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 備份恢複角色:backup、restore; 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 超級使用者角色:root // 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbOwner 、userAdmin、userAdminAnyDatabase) 內部角色:__system 角色說明: Read:允許使用者讀取指定資料庫 readWrite:允許使用者讀寫指定資料庫 dbAdmin:允許使用者在指定資料庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profile userAdmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和系統管理使用者 clusterAdmin:只在admin資料庫中可用,賦予使用者所有分區和複製集相關函數的系統管理權限。 readAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權 readWriteAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫權限 userAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的userAdmin許可權 dbAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin許可權。 root:只在admin資料庫中可用。超級帳號,超級許可權

3. 授權步驟

>mongo --host 127.0.0.1 --port 27018>use dbname;>db.createUser({user:"root",pwd:"root123",roles:["userAdminAnyDatabase"]})Successfully added user: { "user" : "root", "roles" : [ "userAdminAnyDatabase" ] }這個例子建立了一個名為 root 的使用者管理員。建立完了這個使用者之後,我們應該馬上以該使用者的身份登入:> db.auth("root","root123")1db.auth() 方法返回 1 表示登入成功。接下來我們為指定的資料庫建立訪問所需的帳號。

注意:使用密碼原則需要先在設定檔中增加 auth=true。並且mongo在從模式下面是不允許操作密碼原則的,主要應該是屬於唯讀模式,只負責同步master上面的資料

mongodb使用者權限操作常用命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.