MySQL 8.0(主从复制)
MySQL 8.0 的 主从复制(Master-Slave Replication) 是一种数据库高可用和数据备份的核心技术,下面用
一、什么是主从复制?
就像公司的「领导-秘书」分工:
-
主库(Master):负责处理所有写操作(增删改)
-
从库(Slave):实时复制主库的数据,仅处理读请求
通俗易懂的方式解释:
graph LR
A[用户写入请求] --> B[主库]
B --> C[数据变更记录binlog]
C --> D[从库读取binlog]
D --> E[从库重放变更]
F[用户查询请求] --> E
二、为什么要用主从复制?
-
读写分离
-
主库专注写入,从库处理查询(提升3倍以上读性能)
-
例:你的网站同时有100人下单和500人浏览,读写请求不会互相阻塞
-
-
数据安全
-
从库相当于实时备份(主库崩溃时10秒内切换从库)
-
避免「删库跑路」导致数据全丢
-
-
负载均衡
-
可配置多个从库分担查询压力(如:报表分析等重型查询)
-
-
零停机维护
-
从库升级时,主库继续服务
-
三、MySQL 8.0 主从复制原理
-
主库记录变更
-
所有写操作会记录到 binlog(二进制日志)
-
-
从库拉取日志
-
从库的 IO线程 持续监听主库的binlog
-
-
重放日志
-
从库的 SQL线程 按顺序执行binlog中的SQL
-
-
8.0优化特性
-
基于GTID的复制(全局事务ID,避免位置错乱)
-
多线程复制(从库并行重放,速度提升5倍+)
-
原子DDL(避免表结构变更导致复制中断)
-