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

相关推荐
DBA小马哥1 小时前
Oracle迁移实战:如何轻松跨越异构数据库的学习与技术壁垒
数据库·学习·oracle·信创·国产化平替
暮乘白帝过重山2 小时前
ArkTS ForEach 参数解析:组件与键值生成器
开发语言·数据库
菜鸟plus+2 小时前
N+1查询
java·服务器·数据库
子夜江寒2 小时前
MySQL 表创建与数据导入导出
数据库·mysql
菜鸟小九3 小时前
redis基础(安装配置redis)
数据库·redis·缓存
保定公民3 小时前
达梦数据库使用cp备份集恢复报错分析与解决
数据库
wd_cloud4 小时前
QT/6.7.2/Creator编译Windows64 MySQL驱动
开发语言·qt·mysql
少废话h5 小时前
Redis主从与集群搭建全指南
大数据·linux·redis·mysql
中冕—霍格沃兹软件开发测试5 小时前
测试用例库建设与管理方案
数据库·人工智能·科技·开源·测试用例·bug
The star"'5 小时前
mysql(4-7)
数据库·mysql·adb