MySQL 读写分离:主从复制,提升并发处理能力 前言单库所有读写都压在一台服务器读请求量大时 CPU、IO 打满。读写分离架构主库 Master 负责写操作从库 Slave 负责查询读操作分摊数据库压力横向扩容读能力。底层依靠 MySQL 主从复制同步数据。一、主从复制原理Master 执行增删改记录操作到 binlog 二进制日志Slave IO 线程拉取 Master binlog 日志Slave SQL 线程重放日志同步数据保证主从数据一致。二、主库 Master 配置 my.cnfserver-id 1 log_bin mysql-bin binlog_format row expire_logs_days 7创建同步账号CREATE USER repl从库IP IDENTIFIED Repl123; GRANT REPLICATION SLAVE ON *.* TO repl从库IP; FLUSH PRIVILEGES; -- 查看binlog位置 SHOW MASTER STATUS;三、从库 Slave 配置server-id 2 relay_log relay-bin read_only 1绑定主库同步CHANGE MASTER TO MASTER_HOST主库IP, MASTER_USERrepl, MASTER_PASSWORDRepl123, MASTER_LOG_FILEmysql-bin.000001, MASTER_LOG_POS156; START SLAVE; -- 查看同步状态 SHOW SLAVE STATUS\G关键指标Slave_IO_Running、Slave_SQL_Running都为 Yes 代表同步正常。四、业务读写分离落地写操作INSERT/UPDATE/DELETE全部路由至主库查询、分页、报表、列表走从库中间件方案MyCat、Sharding-JDBC 自动路由读写短期数据延迟方案新增数据实时查询走主库列表查询走从库。五、主从避坑主从存在毫秒级数据延迟强一致性场景不能读从库避免大事务导致同步延迟堆积定期监控 Slave 同步状态断线及时修复。