ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

MySQL 主从复制与读写分离实战

MySQL 主从复制与读写分离实战

一、为什么需要读写分离

单库:1000次查询 + 100次写入 = 1100次请求全打一个库 读写分离: 主库:100次写入 从库:1000次查询 主库压力降 10 倍

二、配置主从复制

# 主库 my.cnf [mysqld] server-id = 1 log-bin = mysql-bin binlog-do-db = seckill_db
-- 主库创建复制账号CREATEUSER'repl'@'%'IDENTIFIEDBY'repl123';GRANTREPLICATIONSLAVEON*.*TO'repl'@'%';FLUSHPRIVILEGES;SHOWMASTERSTATUS;-- 记录 file 和 position
# 从库 my.cnf [mysqld] server-id = 2 relay-log = mysql-relay-bin
-- 从库执行CHANGE MASTERTOMASTER_HOST='192.168.1.100',MASTER_USER='repl',MASTER_PASSWORD='repl123',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;STARTSLAVE;SHOWSLAVESTATUS\G;-- 查看同步状态

三、SpringBoot 读写分离

spring:datasource:dynamic:primary:masterdatasource:master:url:jdbc:mysql://192.168.1.100:3306/seckill_dbslave:url:jdbc:mysql://192.168.1.101:3306/seckill_db
@Service@DS("slave")publicclassProductQueryService{// 查询走从库}@Service@DS("master")publicclassProductWriteService{// 写入走主库}

💡 觉得有用的话,点赞 + 关注【张老师技术栈】吧!

返回列表