MySQL是大型架构的核心,下面我重点详解MySQL主从@mikechen
MySQL主从
MySQL主从复制(Master-Slave Replication),是一种常见的数据库高可用与读写分离方案。

通过将写操作集中到主库(Master),将读操作分发到从库(Slave)。
可以提高系统的读扩展能力、实现备份容灾并减轻主库压力。
MySQL主从架构
在生产环境,我们通常采用“一主一从”或“一主多从”的模式。

主库 (Master):负责所有的写操作(INSERT, UPDATE, DELETE)。
从库 (Slave):负责所有的读操作(SELECT)。
同步机制:主库的数据变动通过二进制日志(Binlog)实时同步给从库。
MySQL主从原理
MySQL 经典主从复制原理可以一句话概括:主库写 binlog,从库用 I/O 线程拉、SQL 线程重放。

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 语句,从而保证从库数据与主库一致。