• mysql架构解读~mysql的多源复制



     
    一 场景需求

        多源复制版本 5.7,目标主机5.6.21

        4个DB机器的某些数据库需要数据汇总进行连表查询

    二 进行搭建
      1 导出相应的目的库
         mysqldump -uuser -ppassword --master-data=2 --single-transaction --databases --add-drop-database dbname >dbname.sql
      2 将相应的目的库导入到多源复制机器上
         注意 5.6版本 需要先删除第一行,否则无法导入.
         mysql -uuser -ppassword < dbname.sql (并行导入,加快速度)
      3 设置相应的忽略库(非常重要)
         replicate-wild-ignore-table=test.%
         replicate-wild-ignore-table=mysql.%
         replicate-wild-ignore-table=dbname.%
      4 重启多源复制库
      5 过滤 postion和filename
         cat dbname.sql|grep CHANGE
      6 开启通道,进行change
        CHANGE MASTER TO MASTER_HOST='',MASTER_USER='', MASTER_PASSWORD='',MASTER_LOG_FILE='',MASTER_LOG_POS=FOR CHANNEL 'master-01';
        start slave for CHANNEL 'master-01'
        CHANGE MASTER TO MASTER_HOST='',MASTER_USER='', MASTER_PASSWORD='',MASTER_LOG_FILE='',MASTER_LOG_POS= FOR CHANNEL 'master-02';
        start slave for CHANNEL 'master-02'
     7 show slave status进行观察
     8 遇到过的问题
        场景1 架构场景 MHA 一主两从->多源复制
        问题描述 多源复制连接的是主,由于主挂掉导致,主从切换。多源复制出现问题
       解决方案 多源复制连接的主已挂掉,所以需要重新change

             MHA切换失败的情况

            1 由于新主肯定是重新生成binlog,定位新主的binlog
            2 分析新主binlog的具体sql语句,在多源DB上查找,然后确定at点,进行change

           MHA切换成功的情况

            1 参考 mysql级联复制转变为同级复制即可

       场景2 由于pt校验主从数据一致性导致的多源DB出现错误
       问题描述 PT校验会在指定库进行创建表和相应的DML操作,多源DB忽略了test库,导致出错
       解决方案 跳过事件的方式不可行,因为很多,所以根据最近的备份进行恢复。
       总结 对于PT校验一定要注意到多源DB所忽略库的情况,不要指定忽略的库
    9 关于 多源复制同步多个主 IO追不上的情况,暂时没有遇到(其实建议减少同步DB的数量,并且源主最好对于目标DB不要有太高的TPS

    10 查看复制状态

       show slave status for channel ''
    这就是我对于多源复制的理解

  • 相关阅读:
    uboot串口与标准输入输出代码详解
    uboot打开Debug
    git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
    git 代码管理工具,很不错,值得推荐
    Ubuntu 压缩解压命令
    OMAPL138调试笔记
    网络
    关于运放
    win7 linux 双系统删除linux & 双系统安装
    dedecms 蜘蛛抓取设置 robots.txt
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/7605932.html
Copyright © 2020-2023  润新知