zoukankan      html  css  js  c++  java
  • mongodb 3.4复制搭建

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

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

    1:首先确认一下我们已经有了这个环境了:

    mongodb数据库1 localhost:27017
    mongodb数据库2 localhost:27018

    2:修改配置文件

    vi mongodb27018.conf

    加入以下几个参数

    bind_ip = 127.0.0.1 #从数据库所在服务器
    source = 127.0.0.1:27017 #确定主数据库端口
    slave = true #确定自己是从服务器
    vi mongodb27017.conf
    加入以下参数
    bind_ip = 127.0.0.1 #主数据库所在服务器
    master = true #确定我是主服务器

    3:重启两天mongodb数据库

    进入数据库

    use admin
    db.shutdownServer()

    关闭后重新启动数据库

    4:从节点登陆
    mongodb 127.0.0.1:27108
    show dbs
    返回错误,因为从节点不可读,然后执行下面语句OK
    在从节点上执行rs.slaveOk()
    或者在主节点上执行db.getMongo().setSlaveOk()


    5:开始验证数据
    主库添加数据:
    mongodb 127.0.0.1:27107
    use maxiangqian
    db.student.insert({"name":"maxiangqian"})
    从库验证数据:
    use maxiangqian
    db.student.find()
    发现数据已经同步了

    6:查看同步状态
    rs.printReplicationInfo()

    官网给的解释:
    1:启动master:mongod --master --dbpath /data/masterdb/
    2:启动slave:mongod --slave --source <masterhostname><:<port>> --dbpath /data/slavedb/
    3:从库添加:
    use local
    db.sources.find()
    db.sources.insert( { host: <127.0.0.1:27107> } );

    删除复制的联系:
    直接在从库执行:
    use local
    db.sources.remove({“host”:”127.0.0.1:8888”})

  • 相关阅读:
    PAT 甲级 1015 Reversible Primes (20 分) (进制转换和素数判断(错因为忘了=))
    『Spring.NET+NHibernate+泛型』框架搭建之DAO(三)★
    (C#)使用队列(Queue)解决简单的并发问题
    VB.NET多线程入门
    Machine Learning With Spark学习笔记(在10万电影数据上训练、使用推荐模型)
    JAVA 并发编程-多个线程之间共享数据(六)
    POJ 3087 Shuffle&#39;m Up(模拟)
    cocos2dx --- 富文本的使用 RichText
    &lt;LeetCode OJ&gt; 217./219. Contains Duplicate (I / II)
    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
  • 原文地址:https://www.cnblogs.com/shengdimaya/p/6598220.html
Copyright © 2011-2022 走看看