MySQL主从复制原理

Posted yblackd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL主从复制原理相关的知识,希望对你有一定的参考价值。

  1. 事务开始后,MySQL将事务操作串行写入binary log中,使得事务中语句交叉执行;当事务操作全部写入binary log完成后,master通知存储引擎提交事务。

  2. Slave不断监听主机的二进制日志文件,有更新操作,则拷贝binary log到relay log;没有则睡眠等待。

    • Slave不断监听master的binary log文件,有改变创建工作线程:I/O线程,负责与master保持通讯。

    • 建立通讯后,master建立binlog dump process读取binary log并发给I/O线程,当relay log与binary log时,I/O睡眠等待新的事件。

    • I/O线程获取到数据库事件更新到从库的中继日志Realy log中去。

  3. Slave SQL线程从中继日志读取事件,更新slave的数据,保持与master数据一致

  4. 补充说明

    • slave监听到binary log有更新后,创建I/O线程,主动与master建立连接

    • 建立连接后,master创建binlog dump process,读取binary log发送给I/O线程

    • relay log一般存于OS的缓存中,开销很小

  5. 网络图解
  6. 个人图解

以上是关于MySQL主从复制原理的主要内容,如果未能解决你的问题,请参考以下文章

主从复制原理

MySQL的主从复制原理以及流程

深度探索MySQL主从复制原理

MySQL主从复制+读写分离原理及配置实例

MySQL主从复制原理

MySQL主从复制与读写分离