MySQL8读写分离集群

本文详细介绍了MySQL读写分离的工作原理,包括MySQL8.0前后如何实现以及搭建MySQL读写分离集群的过程,强调了MyCat在早期版本中的作用和MySQL8.0后自带功能的变化。最后提到Sharding-JDBC在高并发场景的推荐使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、MySQL读写分离原理

二、搭建MySQL读写分离集群 

MySQL8.0之前

1、下载MyCat安装包

2、分别配置schema.xml和server.xml

3、启动MyCat

4、MyCat实现MySQL读写分离

MySQL8.0之后

1、连接MySQL时只有url配置有变化

2、只有显示设置方法的事务为只读(readOnly = true),并且单独执行它时才会走从(读)库


一、MySQL读写分离原理

在MySQL读写分离中:master节点专门用来做数据的修改操作(如create、update、insert、delete等),在主库上写,然后主库通过主从复制把数据的更改通过binlog同步到所有从库上

再将所有的查询操作都映射到从库上,这样就可以很好的分摊读写的压力,不用全部请求都集中在主库上,这样MySQL的并发处理能力就能得到极大的提高

「在MySQL8.0之前:」这个过程需要一个中间件(如MyCatSharding-JDBC等),识别解析客户端的所有请求,将所有的写操作映射到master节点,而读操作都转到slave从库上

「MySQL8.0之后:」MySQL自身已支持读写分离(支持一主多从的读写分离,多主多从的还是需要引入中间件实现)

「一主多从的读写分离:」

注意:MySQL8.0之后该一主多从的读写分离可不依赖中间件

二、搭建MySQL读写分离集群 

MySQL8.0之前

1、下载MyCat安装包

下载MyCat:http://dl.mycat.org.cn 

2、分别配置schema.xmlserver.xml

我这里配置虚拟库meet0and1-schema映射到主从节点上的meet0and1真实库


<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
    <!-- 定义MyCat的虚拟逻辑库,dataNode:映射真实数据节点  -->   
    <schema name="meet0and1-schema" checkSQLschema="false" sqlMaxLimit="800" dataNode="meet0and1Node" />
    <!-- 定义MyCat的数据节点,name必须和dataNode值一致,dataHost映射真实主机,database映射真实的库 -->
    <dataNode name
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值