目录
一、MySQL读写分离概述
1.1 工作原理
1.2 为什么要读写分离
1.3 什么是MyCat
二、MyCat安装与配置
2.1 解压
2.2 创建用户并修改权限
2.3 Java环境要求
2.4 MyCat启动和配置
三、配置数据库
3.1 配置主库(master)
3.2 配置两个从库(slave)
3.3 在客户端服务器上
四、总结
一、MySQL读写分离概述
1.1 工作原理
主库负责写操作:INSERT、UPDATE、DELETE
从库负责读操作:SELECT
主从复制保证从库数据与主库同步
数据内部交换过程:主库写入 → 二进制日志 → 从库同步
1.2 为什么要读写分离
1. 单台服务器性能瓶颈,需分担负载
2. 主从分工,缓解锁争用(X锁和S锁)
3. 从库可使用 MyISAM,提高查询性能
4. 增加冗余,提高可用性
1.3 什么是MyCat
开源企业级数据库中间件
支持事务、ACID
替代 MySQL 集群或 Oracle 集群
融合内存缓存、NoSQL、大数据技术(HDFS)
可视为企业级数据库中间件,实现分库分表、读写分离
二、MyCat安装与配置
2.1 解压
将安装包解压到/opt目录下
2.2 创建用户并修改权限
1、创建mycat用户,并设置密码123456
2、修改mycat目录权限
2.3 Java环境要求
要求JDK1.7及以上
1、解压到/opt目录下
2、设置环境变量
3、查看版本
2.4 MyCat启动和配置
1、配置环境变量
2、配置集群
master:10.8.0.110 主节点 负责写
slave1:10.8.0.100 从节点1 负责读
slave2:10.8.0.103 从节点2 负责读
3、配置server文件
cp /opt/mycat/conf/server.xml /opt/mycat/conf/server.xml_bak备份配置文件
vim /opt/mycat/conf/server.xml修改配置文件
4、配置schema文件
cp /opt/mycat/conf/server.xml /opt/mycat/conf/server.xml_bak备份配置文件
vim /opt/mycat/conf/server.xml
5、启动MyCat并检查
三、配置数据库
3.1 配置主库(master)
1、创建mzy数据库
2、创建表格插入数据
3、授权
4、插入数据
3.2 配置两个从库(slave)
1、停止同步并使用mzy数据库
2、授权
3、插入数据
slave1:
slave2:
3.3 在客户端服务器上
1、查看表格信息
2、插入数据
3、查看主服务器
4、两个从库打开主从同步后查看mycat
四、总结
使用MyCat实现MySQL主从读写分离的搭建过程,核心是通过配置MyCat中间件,将写操作路由到主库(master)、读操作负载均衡到两个从库(slave1/slave2),从而缓解单库性能压力、减少锁竞争并提升系统可用性;实践中需注意主从数据同步的开启、MyCat逻辑库与物理库的映射,以及各节点权限的正确授予,最终验证了读写分离效果——从不同从库查询到各自插入的标识数据,而主库写入的数据在同步后对所有节点可见。