Mysql | 主从复制的工作机制

主从复制的工作机制

Mysql的主从复制 从库主要是读取主库的binlog日志来完成数据同步的, binlog中存储了对数据库所有修改SQL的语句。

  1. 首先Master开启BinLog二进制的写入。
  2. Slave从库通过ip、port、账号、密码链接到Master主数据库,链接成功后从库会向主数据库获取Binlog的位置、 偏移量等信息,来确定从库应该从主库的Binlog的那个位置开始读取。
  3. Master主数据库接收到从库的请求后,会根据从库提供的Binlog位置信息,从响应的位置开始读取Binlog文件,并将内容发送给从库。 主数据库会通过一个专门的线程(Binlog Dump Thread)来完成这个任务,该线程会持续监控binlog文件的变化,并将新的变更发送给从库
  4. Slave从数据库会通过一个IO Thread来接收Master主库的Binlog内容并先写道中继日志中
  5. Slave从数据库会通过一个专门的SQL Thread 来读取中继日志中的内容,并执行其中记录的SQL内容

中继日志

中继日志是从数据库的一个临时日志文件, 用于存储主数据库发送过来的Binlog内容。 它的作用是解耦从库的IO Thread 与SQL Thread 使这两个线程都可以独立工作。

IO Thread 负责接收主数据的Binlog内容,并写入到中继日志中

SQL Thread 负责读取中继日志并执行其中的SQL语句

相关推荐
晴天¥15 小时前
Oracle中的表空间
运维·数据库·oracle
千寻技术帮15 小时前
10382_基于Springboot的高校排课管理系统
mysql·vue·毕设·spingboot·高校排课
小高求学之路15 小时前
Neo4j - 为什么需要图数据库
数据库·neo4j
rocksun15 小时前
Rust 异步编程:Futures 与 Tokio 深度解析
数据库·rust
曹牧15 小时前
Oracle:前五个字符
数据库·oracle
Coder_Oldou15 小时前
【经验分享】MySQL线上使用经验
数据库·经验分享·mysql
在职工程博士16 小时前
在职博士-南京邮电大学申请考核制博士招生实施细则(信息通信、信息管理工程方向)
大数据·数据库·嵌入式硬件·物联网·硬件工程·数据库开发
IT教程资源C16 小时前
(N_115)基于springboot,vue教务管理系统
mysql·vue·前后端分离·springboot教务系统
chushiyunen16 小时前
mysql性能调优、连接数、问题排查等
数据库·mysql
盛世宏博北京16 小时前
《RS485 总线架构下古籍库房中央控制 + 四维防护自动化系统技术方案》
数据库·温湿度·文物库房