MySQL主从复制异步原理以及搭建

MySQL主从复制的原理:

  1、首先,MySQL主库在事务提交时会把数据变更作为时间events记录在二进制日志文件binlog中;MySQL主库上的sync_binlog参数控制Binlog日志以什么样的方式刷新到磁盘上。

  2、主库推送二进制日志文件Binlog中的事件到从库的中继日志Relay Log中,之后从库根据中继日志Relay Log重做数据变更操作,通过逻辑复制以此来达到主库和从库的数据一致。

MySQL主从复制的关键点:

  MySQL通过3个线程来完成主从库间的数据复制,其中Binlog Dump线程跑在主库上,I/O线程和SQL线程跑在从库上。当在从库上启动复制时,首先创建I/O线程来连接主库,随后主库创建Binlog Dump线程读取数据库事件并发送给I/O线程,I/O线程获取到事件数据后更新到从库的中继日志Relay log中去,之后从库上的SQL线程读取中继日志Relay Log中更新的数据库事件并应用到从库上来。

示意图:

主库端查看线程:

猜你喜欢

转载自www.cnblogs.com/FengGeBlog/p/10210390.html