zoukankan      html  css  js  c++  java
  • Mongo集群之主从复制

      上线的系统。数据存储是重要部位。若一个公司的数据库部署还是待用单点部署,那若是宕机或是机器被损坏则是多糟糕的事情呀。

     

      

      主从复制的部署方式为下图


     

    主从复制是一个简单的数据库同步备份集群技术。这样的方式简单灵活,可用于备份、故障恢复。读扩展。为了平衡负载,一般通过读写分离模式。即主库写、从库读。


    要明白

    在数据库集群中要明白知道谁是主server,主server仅仅有一台

    从server要知道自己的数据源也就是对于的主server是谁

     

    这里我们用两台数据库进行模拟。一个主master,一个从数据库。Master用来确定主server,slave用来控制增server


    master配置


     配置主server数据库信息

     Master.conf

    dbpath=J:javamongoSlavemasterdatabase #主server地址
    port =8888 #主数据库端口号
    bind_ip= 127.0.0.1  #主数据库所在server
    master=true#确定为从server


    启动配置文件

    mast.bat

    mongod --configmast.conf


    连接数据库文件mongConn.bat

    mongo 127.0.0.1:8888

    依次启动mast.bat 。mongConn.bat连接数据库

    显示登录成功信息



    slave配置


      从server的配置信息


    dbpath=J:javamongoSlavesalve1database #从server地址
    port =7778 #从数据库port号
    bind_ip= 127.0.0.1  #从数据库所在server
    source=  127.0.0.1:8888 #确定主的数据库port号
    slave=true#确定为从server


     启动数据配置

    mongod --configslave.conf 


    连接数据库配置

    mongo 127.0.0.1:7778

    再次启动从server 

     

    启动成功后例如以下图


     

    从server启动

     


    測试加入数据

    master主数据库创建foobar数据库,加入集合,并集合中有一条数据。

     


     

    查看从数据库。则有主数据库加入的数据


     

    动态扩充从数据库


    使用shell脚本

    这个时候我们的加入新数据的配置就略微有所不同了

    dbpath=J:javamongoSlavesavle2database #从server地址
    port =7779 #从数据库port
    bind_ip= 127.0.0.1  #从数据库所在server
    #source =  127.0.0.1:8888 #确定我的数据库port号 删除了主server的地址
    slave=true#确定为从server

    我们通过shell命令进行配置,打开从server数据库命令窗体

    Use local
    Db.sources.find()
    Db.sources.insert({"host":"127.0.0.1:8888"}})


     

    就连接上主server,并复制数据库了

     

    小结:


    主从数据库复制,加入数据仅仅能在主数据库。而从数据库仅仅能够进行数据的查找。对于大数据量这样的情况有些不适应。这时候我们就须要第二种形式,分片技术,下篇介绍副本集


  • 相关阅读:
    dp
    康拓展开
    MST + 树形 dp
    树上对抗搜索
    求树上任意一点所能到达的最远距离
    将一棵树变成一个环
    树形dp
    区间dp
    区间dp
    day07作业
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7016016.html
Copyright © 2011-2022 走看看