MySQL主从同步

简介

MySQL主从同步的是基于binlog实现,从库同步主库binlog文件,实现数据的同步

主从复制的三种模式

  • 基于语句的复制 :主库把sql语句写入到bin log中,完成复制
  • 基于行数据的复制:主库把每一行数据变化的信息作为事件,写入到bin log,完成复制
  • 混合复制:结合以上两种模式,默认用语句复制,出问题时候自动切换成行数据复制

binlog三种存储模式

以上三种复制模式分别对应binlog以下三种存储模式:

  • statement:记录的是修改SQL语句
  • row:记录的是每行实际数据的变更
  • mixed:statement和row模式的混合

binlog模式在MySQL 5.7.7之前,默认为 STATEMENT,在之后的版本中,默认为ROW。
这里建议采用ROW模式,因为ROW模式更安全,可以清楚记录每行数据修改的细节。

复制过程

image.png
  • master将改变记录到binlog中
  • slave启动一个IO线程异步地将master的binlog拷贝到它的relaylog中继日志
  • slave的SQL线程重做relaylog中的更新

由于该同步过程是异步进行的,因此存在主从延迟问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mysql主从呢,听就听得多了应该不难,但动手做还是第一次,做起来发现还是出了点小问题耽误了一下,这里做一下记录...
    LEUNGJH阅读 574评论 0 1
  • 主从同步 第一篇文章说过,初始版本的系统一直单库运行,所有的读、写,以及数据存储都放在了同一台dbserver中。...
    AlanKim阅读 551评论 1 7
  • 午後,在星巴克。 大片落地窗外,濃濃的金黃色陽光閃耀在風中搖曳的樹梢,天空淨藍澄透,所有顏色和光影都如此鮮麗燦然。...
    瑞秋舒芙蕾阅读 500评论 1 4
  • 朋友之前适合存在金钱的关系吗? 如果有一天你遇到了金钱麻烦,你第一时间找的人是不是你自认为很好的友人呢...
    狼爷阅读 276评论 0 0
  • 今天是超下饭的红烧开洋冬瓜便当哦 一说到冬瓜首先想到的就是做汤或很清淡的做法,这次用红烧的方式把冬瓜变成了一道下饭...
    森酱森酱阅读 401评论 2 0