vlambda博客
学习文章列表

318.MySQL 主从同步机制

每天一个开发小知识

开局一张图


上图为 MySQL 主备同步机制的流程图

其中用到2个日志文件和3个线程


  • binlog
  • relay log
  • binlog dump 线程
  • IO 线程
  • SQL 线程

binlog 中存放的数据格式分为3种:

  • 存放 sql 语句
    • 直观
    • binlog 文件小
  • 存放行数据
    • 安全
    • 更少的行锁
  • 混用


MySQL 主备同步机制用时序图是这样的



MySQL 主从同步中的复制类型:

  • 异步复制

  • 半同步复制

  • 全同步复制


异步复制

master 将更新记录写入 binlog

然后通过 binlog dump 线程发送给 slave

之后 master 将不会在意 slave 是否同步成功

半同步复制

master 将更新记录写入 binlog

然后通过 binlog dump 线程发送给 slave

之后只有当 master 收到至少一台 slave 同步成功的信息后

master 才会结束自己的更新事务

全同步复制

master 将更新记录写入 binlog

然后通过 binlog dump 线程发送给 slave

之后只有当 master 收到所有 slave 同步成功的信息后

master 才会结束自己的更新事务

每天一个开发小知识,今天你学废了吗?