1.環境準備
[root@node3 ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
主:192.168.200.140 從:192.168.200.144
2.配置mongod啓動配置文件
主:192.168.200.140
vim /etc/mongodb.conf
port=27017
fork=true
logpath=/a02/mongodb/logs/node1.log
logappend=true
dbpath=/a02/mongodb/data/
maxConns=1024
master=true
oplogSize=2048 ########## 主節點oplog大小,主節點會把數據庫操作的日誌寫在oplog中,從節點參考oplog做複製操作,可以根據自身情況調節日誌大小。如果不指定oplogsize大小,mongod將指配5%的可用磁盤空間給他,32位機最小是50M,64位機最小是1G。
從:192.168.200.144
vim /etc/mongodb.conf
port=27017
fork=true
logpath=/a02/mongodb/logs/node2.log
logappend=true #########開啓日誌循環
dbpath=/a02/mongodb/data/
maxConns=1024
slave=true
source=192.168.200.140:27017 ######需要同步的源也就是Master
slavedelay=10 ####### 從數據庫延遲同步主數據庫的時間
autoresync=true ####### 如果主節點與從節點數據不同,則自動重新同步。配置這個節點可以給運行了一段時間的主節點加上 一個新節點,則這個新節點會把之前的主節點數據全部同步過來,而不是從現在這個時間同步。
3.啓動mongod
主:mongod -f /etc/mongodb.conf
從:mongod -f /etc/mongodb.conf
4.主從複製測試
主庫新建數據庫
/usr/local/mongodb/bin/mongo
> use test
> db.test.save({"AGE":18})
> db.test.find()
> show dbs
local 0.000GB
test 0.000GB
wang 0.000GB
從庫查看數據是否同步
/usr/local/mongodb/bin/mongo
> rs.slaveOk(1) ####默認從庫是不具備查詢權限的,如果需要查詢,開啓即可。
> show dbs
local 0.000GB
test 0.000GB
wang 0.000GB
> db.printReplicationInfo()
this is a slave, printing slave replication info.
source: 192.168.200.140:27017
syncedTo: Mon Jul 25 2016 14:59:46 GMT+0800 (CST)
12 secs (0 hrs) behind the freshest member (no primary available at the moment)