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语句

相关推荐
EndingCoder36 分钟前
Node.js 数据查询优化技巧
服务器·javascript·数据库·node.js·数据查询优化
TDengine (老段)36 分钟前
TDengine 数学函数 SIGN 用户手册
大数据·数据库·sql·时序数据库·iot·tdengine·涛思数据
RestCloud1 小时前
Kingbase 与 ETL:如何实现金融级数据库的安全数据同步
数据库·数据安全·etl·数据处理·数据传输·数据同步·kingbase
Elastic 中国社区官方博客1 小时前
在 Elastic Observability 中,启用 TSDS 集成可节省高达 70% 的指标存储
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·时序数据库
Thepatterraining1 小时前
MySQL数据存储黑科技:Page布局、行存储与压缩算法全解密
数据库·mysql
wan5555cn2 小时前
中国启用WPS格式进行国际交流:政策分析与影响评估
数据库·人工智能·笔记·深度学习·算法·wps
惜分飞2 小时前
raid恢复之后数据库故障处理(ora-01200,ORA-26101,ORA-600)---惜分飞
数据库·sql·oracle·oracle恢复·raid恢复
曹朋羽2 小时前
nacos 使用oceanbase(oracle模式)作为数据源
oracle·nacos·oceanbase
IT教程资源D2 小时前
[N_149]基于微信小程序网上商城系统
mysql·vue·前后端分离·springboot网上商城·网上商城小程序
洲覆2 小时前
SQL 性能优化:出现 sql 比较慢怎么办?
开发语言·数据库·sql·mysql