MySQL主从全面详解(架构+原理+秒懂)

MySQL是大型架构的核心,下面我重点详解MySQL主从@mikechen

MySQL主从

MySQL主从复制(Master-Slave Replication),是一种常见的数据库高可用与读写分离方案。

MySQL主从全面详解(架构+原理+秒懂)

通过将写操作集中到主库(Master),将读操作分发到从库(Slave)。

可以提高系统的读扩展能力、实现备份容灾并减轻主库压力。

 

MySQL主从架构

在生产环境,我们通常采用“一主一从”或“一主多从”的模式。

MySQL主从全面详解(架构+原理+秒懂)

主库 (Master):负责所有的写操作(INSERT, UPDATE, DELETE)。

从库 (Slave):负责所有的读操作(SELECT)。

同步机制:主库的数据变动通过二进制日志(Binlog)实时同步给从库。

 

MySQL主从原理

MySQL 经典主从复制原理可以一句话概括:主库写 binlog,从库用 I/O 线程拉、SQL 线程重放。

MySQL主从全面详解(架构+原理+秒懂)

1.主库:Binlog Dump Thread

当从库连接主库时,主库会创建一个 Binlog Dump 线程。

逻辑:当主库有数据更新时,会将变动写入 Binary Log (Binlog),并通知 Dump 线程将内容推送给从库。

2. 从库:I/O Thread

从库启动后,会创建一个 I/O 线程。

逻辑:它负责连接主库,请求指定的 Binlog 位置(Position),并将接收到的日志内容写入到本地的 Relay Log (中继日志) 中。

3. 从库:SQL Thread

这是最后一步。

逻辑:SQL 线程会读取 Relay Log 中的内容。

并在从库上“重演”一遍这些 SQL 语句,从而保证从库数据与主库一致。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧