主从复制的特定主要是修改两个主机的mongodb.conf配置文件
mongodb支持一主多从复制 (不同的实例在/data目录下建立不同的目录)
主配置文件
dbpath =/data/mongodb/data/
logpath =/data/mongodb/logs/mongodb.log
logappend = true //true 在日志文件末尾添加新条目,而不是在重启进程是覆盖日志的内容
slowms=500 //开启慢查询
fork = true
port = 27017
profile = 1
oplogSize = 10000
master = true
pidfilepath = /tmp/mongodb.pid
auth=true
bind_ip=10.33.5.226
nohttpinterface = ture //关闭http接口的访问
从配置文件
dbpath =/data/mongodb/data/
logpath =/data/mongodb/logs/mongodb.log
fork = true
port = 27017
profile = 1
oplogSize = 10000 //指定的复制操作日志的最大大小
#master = true
slave = true
source = 61.147.187.204:27017
pidfilepath = /tmp/mongodb.pid
auth=true
bind_ip=10.33.5.226
nohttpinterface = ture
only=testdb //指定需要进行复制的数据库
slavedelay=60 //设置从库的延迟时间
autoresync=true //是否自动重新同步,设置为true,如果落后主超过10秒,会强制从自动重新同步
如果oplogSize太小,此设置可能有问题。如果OPLOG大小不足以存储主的变化状态和从的状态变化之间的差异,这种情况下强制重新同步是不必要的。当设置autoresync选项设置为false,10分钟内从不会进行大于1次的自动重新同步。
主从配置文件修改完毕后,启动的时候指定对应的配置文件()
/usr/local/mongodb/bin/mongod -f /data/mongodb/etc/mongodb.conf
登录mongodb(登录之前先注释掉配置文件的auth选项,重建root用户后再开启改认证)
同时要在主从主机上,local数据库中创建repl用户用户同步,账号密码相同
/usr/local/mongodb/bin/mongo admin --host 121.207.243.90 -u root -p --port 37017
查看主从复制状态
db.printReplicationInfo();