Mysql-17-主从复制原理

Mysql-17-主从复制原理

前言

  • 主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从数据库上,然后在从数据库上对这些日志进行重新执行,从而使从数据库和主数据库的数据保持一致。

1. 主从复制的原理

  • MySql主库在事务提交时会把数据变更作为事件记录在二进制日志Binlog中;

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

  • MySql通过三个线程来完成主从库间的数据复制,其中Binlog Dump线程跑在主库上,I/O线程和SQL线程跑着从库上;

  • 当在从库上启动复制时,首先创建I/O线程连接主库,主库随后创建Binlog Dump线程读取数据库事件并发送给I/O线程,I/O线程获取到事件数据后更新到从库的中继日志Relay Log中去,之后从库上的SQL线程读取中继日志Relay Log中更新的数据库事件并应用,如下图所示。

mark

参考博客https://mp.weixin.qq.com/s?__biz=MzAwNDA2OTM1Ng==&mid=2453141544&idx=2&sn=da0ea11633faed02e1a1c1e03944b529&chksm=8cf2daabbb8553bd4c62e19855707cacca6b6d0c5fcf500305bd8ca729c78dbe8f8372bb7d4e&mpshare=1&scene=1&srcid=0924EQob7Vlt43qQ2WiqWEOt&sharer_sharetime=1600909299821&sharer_shareid=28c303bffd97904e2336a200423a1133&key=50c6d0ff50751a997508b262a322b559b1b0d4d10c76c70ca94b15f61e691441497eabafb2218f1e05ae9802c61778d5bf6130e7db891e0b29bd2b3d4eb04ed4738b52fb046116adde4c9dfb8f79df9d6d892478ece561576c9d0b88d1a80be411b19d0993bcb1b092885e57ef27b58b20043eb931b4f22fb2fd31695693632e&ascene=1&uin=MTU5MDExNDg2MQ%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_CN&exportkey=AWvlglZ%2BXI9nU%2BxmH77cjLU%3D&pass_ticket=empX%2Byd3FBncFv9Y3htB8V3ce9CK6LHHJOlGyuSLskLcjwytQcRRiL0ELWZl3dk0&wx_header=0

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信