深入解析MySQL主从复制原理:半同步复制

MySQL半同步复制(Semisynchronous Replication, SBR)是在异步复制基础上增加了一定程度的同步性,旨在提高数据安全性,减少数据丢失的风险。

1.基本流程

1.1主服务器(Master)

  1. 事务处理与binlog记录

    • 客户端向主服务器发起写操作(如INSERT、UPDATE、DELETE等)。
    • 主服务器执行这些操作,并将它们封装在一个或多个事务中。
    • 事务完成后,主服务器将事务的所有更改记录到其本地的二进制日志(Binary Log, binlog)。binlog按顺序记录所有数据修改事件,每个事件包含操作类型、涉及的表名、行数据变化等信息。
  2. binlog传输与确认

    • 主服务器上运行一个名为binlog dump线程的后台进程,负责监听从服务器的复制请求。
    • 当从服务器连接到主服务器并请求复制时,binlog dump线程开始读取binlog中的事件,并通过网络将其发送到从服务器。
    • 与异步复制不同之处在于,主服务器在此时会等待至少一个从服务器的确认,即从服务器必须将接收到的binlog事件写入到其本地的中继日志(Relay Log)并反馈给主服务器。

1.2从服务器(Slave)

  1. 连接与初始化

    • 从服务器启动一个I/O线程,该线程连接到主服务器并请求从某个特定的binlog位置(如最后一次同步的位置)开始复制。
    • I/O线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值