Skip to main content

主从

推荐个博文 https://www.cnblogs.com/nulige/p/7613721.html

主从设置

在主从结构中,主节点的操作记录成为oplog(operation log)。oplog存储在一个系统数据库local的集合oplog.$main中,这个集合的每个文档都代表主节点上执行的一个操作。 从服务器会定期从主服务器中获取oplog记录,然后在本机上执行!对于存储oplog的集合,MongoDB采用的是固定集合,也就是说随着操作过多,新的操作会覆盖旧的操作!

  • 1)在数据库集群中要明确的知道谁是主服务器,主服务器只有一台.
  • 2)从服务器要知道自己的数据源也就是对应的主服务是谁.
  • 3)--master用来确定主服务器,--slave 和 --source 来控制从服务器

命令的方式

主:

从:

主从复制的其他设置项

  • --only 从节点指定复制某个数据库,默认是复制全部数据库
  • --slavedelay 从节点设置主数据库同步数据的延迟(单位是秒)
  • --fastsync 从节点以主数据库的节点快照为节点启动从数据库
  • --autoresync 从节点如果不同步则从新同步数据库(即选择当通过热添加了一台从服务器之后,从服务器选择是否更新主服务器之间的数据)
  • --oplogSize 主节点设置oplog的大小(主节点操作记录存储到local的oplog中)

配置文件的方式

port=27017
bind_ip = 182.48.115.238
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongo.log
logappend=true
journal = true
fork = true
master = true //确定自己是主服务器

port=27017
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongo.log
logappend=true
journal = true
fork = true
bind_ip = 182.48.115.236 //确定主数据库端口
source = 182.48.115.238:27017 //确定主数据库端口
slave = true //确定自己是从服务器

副本集,选举需要,命令中加配置 配置参数是 config_rs1 例子:

rs.status(); 查看状态

从后,使用rs.slaveOK();就可以读取数据