【MongoDB】windows平台搭建Mongo資料庫複寫集(類似叢集),mongodbmongo

來源:互聯網
上載者:User

【MongoDB】windows平台搭建Mongo資料庫複寫集(類似叢集),mongodbmongo

Replica  Sets(複製集)是在mongodDB1.6版本開始新增的功能,它可以實現故障自動切換和自動修複功能成員節點的功能,各個DB之間的資料完全一致,大大降低了單點故障的風險。 

【】


以示是三個節點的Replica Set架構。該圖來源於紅丸編寫的《Mongodb管理與開發精要》這本書。從可以看出,結構類似與一個叢集,其實完全可以當做一個叢集。因為它確實和叢集實現的作用是相同的。 

一、部署Replica Sets. 

接下來顯示如何在一台伺服器上面示範部署3個節點的Replica Sets 



二、啟動Replica服務

   分別開啟三個命令視窗,然後分別執行下面三句話。

mongod.exe  --replSet rs1 --keyFile "D:\Program Files\mongodb\data\replica\key\r0" --port 28010 --dbpath "D:\Program Files\mongodb\data\replica\data\r0" --logpath "D:\Program Files\mongodb\data\replica\log\r0.log" --logappendmongod.exe  --replSet rs1 --keyFile "D:\Program Files\mongodb\data\replica\key\r1" --port 28011 --dbpath "D:\Program Files\mongodb\data\replica\data\r1" --logpath "D:\Program Files\mongodb\data\replica\log\r1.log" --logappendcd /d D:\Program Files\mongodb\binmongod.exe  --replSet rs1 --keyFile "D:\Program Files\mongodb\data\replica\key\r2" --port 28012 --dbpath "D:\Program Files\mongodb\data\replica\data\r2" --logpath "D:\Program Files\mongodb\data\replica\log\r2.log" --logappend




三、登入用戶端,初始化Replica Sets環境






怎建立一個含有使用者名稱與密碼的mongodb的資料庫

  太小氣了,還是給你簡單說一說吧,下邊是我之前研究mongodb時候做的筆記中的一點部分。
  mongoDB預設使用者認證是關閉的。
  修改 /etc/mongod.conf 檔案。mongoDB預設情況下任何用戶端都可以串連27017連接埠,且沒有認證,預設情況下沒有系統管理員帳戶。通過修改這個設定檔可以更改為登陸時進行許可權認證。
  mongoDB中如果想要給某個資料庫建立一個使用者,需要首先進入該資料庫,然後使用addUser命令。在這裡也可以將使用者佈建為唯讀(db.addUser("jack","jack",true),第三個參數表示是否時“唯讀使用者”)。

  要使用超級管理員,需要先串連admin資料庫並登陸系統管理員帳戶,然後串連其他資料庫就可以行使管理員權限。

  使用者資訊儲存及認證過程

  類似MySQL將系統使用者資訊儲存在mysql.user表。MongoDB也將系統使用者的username、pwd儲存在admin.system.users集合中。其中pwd = md5(username + “:mongo:” + real_password)。這本身並沒有什麼問題。username和:mongo:相當於對原密碼加了一個salt值,即使攻擊者擷取了資料庫中儲存的md5 hash,也沒法簡單的從彩虹表中查出原始密碼。

  許可權管理常用命令

  1. #進入資料庫admin

  use admin

  2. #增加或修改使用者密碼

  db.addUser('name','pwd')

  3. #查看使用者列表

  db.system.users.find()

  4. #使用者認證

  db.auth('name','pwd')
這一個返回1就認證成功了,只有認證成功才能對資料庫進行操作

  5. #刪除使用者

  db.removeUser('name')

  6. #查看所有使用者

  show users

  7. #查看所有資料庫

  show dbs

  8. #查看所有的collection

  show collections

  9. #查看各collection的狀態

  db.printCollectionStats()

  10. #查看主從複製狀態

  db.printReplicationInfo()
 
一串連mongodb資料庫的用戶端工具,可以用的來

JMongoBrowser,MonvoVUE,windows內建的命令列也可以用。

不過最好下個增強cmd工具,比如powercmd,因為在命令列裡顯示不出來的,在用戶端工具裡也不一定顯示的出來。學mongo,最好學會敲命令,而不是“點啊點”
 

相關文章

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.