mysql-主从复制机制

本文深入解析MySQL主从复制架构,详细阐述主从复制过程、多线程同步策略及其对系统稳定性的考量,同时对比innodb与MyISAM在同步差异上的实现方式,提供解决数据延迟与异常处理的实用建议。
主从
      - 结构
          - 一主多从
      - 主从复制
          - master
               - 线程
                    - 由slave的线程1触发时创建
                    - 将BinLog文件发送给slave的线程1
          - slave
               - 线程1
                    - 由start slave触发创建
                    - 接收BinLog到本地文件
               - 线程2
                    - 执行BinLog
           - 问题
               - 一个slave只有一个同步进程
                    - 改为多线程同步:对在线系统地稳定性影响不确定
                    - 在slave上建立另外N个slave(作为transfer),将要同步的表拆分到这N个slave,然后导入到原slave
               - 数据延迟
                    - mysql cluster
                         - 数据在内存中,不够可靠
     - load data file和load local data file
          - innodb和MyISAM在同步上的差异(加载load.txt文件)
               - innodb  (导入完后再同步)
                    1.Master:开始执行load操作
                    2.Master:操作完成
                    3.Master:向Slave同步load.txt文件
                    4.Slave:开始接收文件,生成tmp_dir/load.txt文件
                    5.Slave:接收完成
                    6.Slave:读取文件,执行load操作
               - MyISAM  (边导入边同步)
                    1.Master:开始执行load操作
                    2.Master:向Slave同步load.txt文件(load多少,同步多少)
                    3.Slave:开始接收文件,生成tmp_dir/load.txt文件
                    4.Master:load操作完成(同步文件操作也完成)
                    5.Slave:生成完整的load.txt文件
                    6.Slave:读取文件,执行load操作
          - 异常
               - innodb
                    - 中断load操作
                         - 回滚
                    - 相关参数
                         - max_binlog_cache_size 能使用的最大内存大小
                              - 执行多语句事务时,若超过阀值,可能报错
                         - max_binlog_size Binlog最大值
                              - 一般为512MB、1GB(超过1GB会有问题)
                              - 不严格
               - MyISAM
                    - 中断load操作
                         - Slave:使用提示的load命令,将传过来的load文件,在Slave上执行
                         - Slave:设置以 跳过错误  set global sql_slave_skip_counter=1;
                         - Slave:开启同步(how?)

转载于:https://my.oschina.net/kakablue/blog/169129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值