MySQL-MHA

  原理

Posted by dbstack on April 7, 2018

MySQL-MHA原理

  • 在传统复制模式下
  • 架构 MHA master slave slave
  • 使用sysbech 压测 MHA master 模拟高并发的场景
  • 观察master 与slave的 数据差异,当达到一定差异的时候,kill -9 掉master 节点,并观察MHA日志
  • 经过分析,在传统复制模式下,会按照以下步骤进行切换与数据补齐
1、通过对比relay-log 的文件名与post识别最新的slave,并试图从死掉的master上scp那一部分差异的binlog,执行完并提升为新的master;
({Master_log_File,Read_Matster_log_Pos} from show slave status)
2、等待最新的slave 把中继日志relay-log执行完;
3、从最新的slave上scp那一部分差异的中继日志relay-log,并执行完;
4、最后再scp死掉的master上那一部分差异的binlog并执行完。至此传统复制结构的数据全部恢复完毕并切换完毕。