一、主从复制概述
1.1 什么是主从复制
主从复制(Master-Slave Replication)是 MySQL 的核心功能之一,通过将主库的数据变更同步到一个或多个从库,实现数据的冗余和读写分离。
主从复制架构说明:
👑 Master(主库):
- 处理所有写操作
- 记录数据变更到 Binary Log
📝 Binary Log(二进制日志):
2026/3/20大约 14 分钟
主从复制(Master-Slave Replication)是 MySQL 的核心功能之一,通过将主库的数据变更同步到一个或多个从库,实现数据的冗余和读写分离。
主从复制架构说明:
👑 Master(主库):
📝 Binary Log(二进制日志):
| 特性 | 流复制 | 逻辑复制 |
|---|---|---|
| 复制单位 | 整个实例 | 表/数据库 |
| 数据格式 | WAL 物理日志 | 逻辑变更 |
| 从库可写 | 否 | 是 |
| 跨版本 | 需相同主版本 | 可以 |
| 跨平台 | 需相同平台 | 可以 |
| DDL 复制 | 自动 | 不复制 |
| 性能影响 | 低 | 较高 |
| 复杂度 | 低 | 中等 |
单机 Redis 存在以下问题:
主从复制可以解决部分问题:
| 特点 | 说明 |
|---|---|
| 异步复制 | 主节点写入后立即返回,异步同步到从节点 |
| 一主多从 | 一个主节点可以有多个从节点 |
| 从节点只读 | 默认从节点不接受写操作 |
| 支持级联 | 从节点可以作为其他从节点的主节点 |
| 非阻塞同步 | 主节点在同步过程中正常处理命令 |
主从复制解决了数据备份和读扩展的问题,但存在以下不足:
Sentinel(哨兵)是 Redis 官方的高可用解决方案,提供:
| 可用性 | 年停机时间 | 适用场景 |
|---|---|---|
| 99% (2 个 9) | 3.65 天 | 内部系统 |
| 99.9% (3 个 9) | 8.76 小时 | 普通业务系统 |
| 99.99% (4 个 9) | 52.6 分钟 | 重要业务系统 |
| 99.999% (5 个 9) | 5.26 分钟 | 金融、电信核心系统 |