MySQL主从同步原理

107 阅读1分钟

MySQL主从复制的核心就是二进制文件binlog。binlog记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(select, show)语句。

1691305583715.jpg

主从同步分为三步:

  1. master主库在事务提交时,会把数据变更记录在二进制日志文件binlog中。
  2. 当slave执行 start slave指令时,从库将创建一个 I/O 线程,该线程用于连接主库并让主库发送记录在其二进制日志(主库二进制日志)中的语句。
  3. master会创建一个Binlog Dump线程将其二进制日志的内容发送到slave。
  4. slave收到master的二进制日志文件,写入到slave的中继日志relay log中。
  5. slave重做中继日志中的事件,将改变反映它自己的数据。