您的位置:首页 > 数据库 > Mongodb

mongodb主从复制

2016-09-07 13:53 399 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongo