• 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”})

  • 相关阅读:
    chmod
    How to Mount an NTFS Filesystem
    关于三层架构和AJAX的一点联系
    Visual Studio开启.NET Framework源代码调试(Debug the Source Code for the .NET Framework Libraries)
    SQL语句中的子查询应用
    .NET中总共有多少种类型、多少个命名空间呢?
    Visual Studio中的《C# 语言规范》
    Visual Studio “类视图”和“对象浏览器”图标含义
    .NET程序员必备参考图片
    Microsoft Visual Studio Learning Pack 2.0
  • 原文地址:https://www.cnblogs.com/shengdimaya/p/6598220.html
Copyright © 2020-2023  润新知