【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,最好學會敲命令,而不是“點啊點”