MySQL 主从复制详解
MySQL 的主从复制是一种用来实现数据同步的机制,可以将一个 MySQL 实例的数据同步到一个或多个从库(Slave)实例中。它广泛应用于数据备份、高可用架构、读写分离、负载均衡等场景。
1. 主从复制的基本概念
-
主库(Master):
- 负责接收客户端的所有写操作(
INSERT
、UPDATE
、DELETE
等)。 - 记录所有变更到 Binlog(Binary Log) 中。
- 负责接收客户端的所有写操作(
-
从库(Slave):
- 从主库获取 Binlog 并重放(Replay),以实现数据同步。
- 通常只接受读请求(只读模式),提高系统的读性能。
-
复制类型:
- 异步复制(Asynchronous Replication):
- 主库在执行事务后不等待从库完成同步,即认为事务已提交。
- 从库的延迟可能较大,但对主库性能影响较小。
- 半同步复制(Semi-Synchronous Replication):
- 主库在事务提交时会等待至少一个从库确认接收到 Bin
- 异步复制(Asynchronous Replication):