MySQL 的主从复制(Master-Slave Replication)是 MySQL 中最核心的高可用和扩展性技术之一。它的主要作用是实现数据备份、读写分离、高可用故障转移。 下面为你详细拆解 MySQL 主从复制的原理和基本流程。 --- 一、 核心原理 MySQL 主从复制的核心原理可以用一句话概括:基于二进制日志(Binlog)的事件重放。 主库(Master)将数据库所有的修改操作(如 INSERT、UPDATE、DELETE 以及 DDL 语句)记录到 Binlog 中。从库(Slave)通过请求获取主库的 Binlog,并在本地重新执行(重放)这些日志中的操作,从而保持与主库数据的一致。 在这个过程中,有 三个核心线程 发挥着关键作用: 1. Binlog Dump 线程(位于主库):负责读取主库的 Binlog 并发送给从库。 2. I/O 线程(位于从库):负责连接主库,接收 Binlog 数据,并将其写入从库本地的中继日志(Relay Log)。 3. SQL 线程(位于从库):负责读取 Relay Log 中的数据,并在从库本地执行这些 SQL 或数据修改...