Master/Slave主從複製 mongodb
主從複製MongoDB中比較經常使用的一種方式,若是要實現主從複製至少應該有兩個MongoDB實例,一個做爲主節點負責客戶端請求,另外一個做爲從節點負責從主節點映射數據,提供數據備份,客戶端讀取等,推薦一主多從模式 數據庫
MongoDB主從複製的實現方式: 服務器
MongoDB使用注意點或缺點: dom
Mongodb主從複製配置項詳解: 測試
主從配置實例(一主一從) spa
主節點 master.conf ip
dbpath=D:\mongodb\zhucong\master\data 文檔
logpath=D:\mongodb\zhucong\master\logs\mongodb.log 同步
port=27017 it
bind_ip=127.0.0.1
master=true
從節點配置
dbpath=D:\mongodb\zhucong\slave\data
logpath=D:\mongodb\zhucong\slave\logs\mongodb.log
port=27018
bind_ip=127.0.0.1
master=true
slave=true
source=127.0.0.1:27017
分別啓動兩個MongoDB實例
mongod --config D:\mongodb\zhucong\master\master.conf
mongod --config D:\mongodb\zhucong\slave\slave.conf
使用 Robomongo 客戶端分別鏈接上兩個MongoDB實例
在主庫上建立數據庫 masterslavetest 並建立一些測試數據
use masterslavetest
for (i = 5000; i < 100000; i++) {
db.users.insert({
"i": i,
"userName": "user" + i,
"age": Math.floor(Math.random() * 120),
"created": new Date(),
total: Math.floor(Math.random() * 100) * i
})
}
在兩個實例上分別執行 如下命令 能夠看到在兩個數據庫上的數據保持一致,這時在主數據庫上執行CRUD等操做時,從庫數據依然與主庫一致
db.users.find({})
兩條指令
db.printReplicationInfo(): //查看主節點的信息
db.printSlaveReplicationInfo(): //查看從節點的信息