MongoDB 權限管理 用戶名和密碼的操作


在剛安裝完畢的時候MongoDB都默認有一個admin數據庫,而admin.system.users中將會保存比在其它數據庫中設置的用戶權限更大的用戶信息。 
當admin.system.users中一個用戶都沒有時,即使mongod啟動時添加了--auth參數,如果沒有在admin數據庫中添加用戶,此時不進行任何認證還是可以做任何操作,直到在admin.system.users中添加了一個用戶。
windows下打開DOS進入bin目錄執行mongo打開shell:
D:\mongodb2.4.3\bin>mongo
使用admin庫:
> use admin 
> db.addUser("root","123456")
         "user" : "root", 
         "readOnly" : false, 
         "pwd" : "34e5772aa66b703a319641d42a47d696" 
驗證用戶: 
> db.auth("root","123456")  
1   //驗證成功,返回1 
> show dbs //查看全部數據庫
admin   0.0625GB
local   0.03125GB
mydb    0.125GB
test    (empty)
> use mydb //使用mydb數據庫
switched to db mydb
> db.addUser("101.key","123456")   //默認可讀寫,只讀為db.addUser("101.key","123456",true)
> db.system.users.find() //查看所有用戶
> db.system.users.remove({user:"10.key"})//給當前數據庫刪除用戶
>show collections  //查看所有集合
>db.serverStatus() //可以獲取到mongodb的服務器統計信息,其中包括 :全局鎖,索引,用戶操作行為等等這些統計信息
> exit //退出
D:\mongodb2.4.3\bin>mongostat -uroot -p123456 --port 27017 //觀看實時數據變化
 
D:\mongodb2.4.3\bin>mongo admin -uroot -p123456  //指定admin數據庫,帳號登錄
-------------------------------------------------------------------------------------------------
遠程用戶連接
語法結構:mongo –uusername –ppwd ServerIP:port/dbname 
其中port默認為27017 
>mongo -uroot -p123456 192.168.2.150/admin 
---------------------------------------------------------------------------
java 客戶端鏈接主要代碼:
 private static Mongo mg = null;
 private static Map dbMap = new HashMap();
 private DB db = null;
 public DAOMongo(){
  if (mg == null){
   try {
    mg = new Mongo("localhost", 27017);
   } catch (UnknownHostException e) {
    e.printStackTrace();
   } catch (MongoException e) {
    e.printStackTrace();
   }
  }
  if (dbMap.containsKey("mydb")){
   db = (DB)dbMap.get("mydb");
  }else{
   db = mg.getDB("mydb");
   boolean authResult =  db.authenticate("101.key", "123456".toCharArray());
   logger.info("authResult="+authResult);
   if (authResult){
    dbMap.put("mydb", db);
   }
  }
  //admin 庫     root  123456
 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM