mycat2 读写分离

mycat2 读写分离

mycat2 读写分离

1.创建两个主从复制的数据库

参考:mysql主从复制

2.mycat2 读写分离

连接到mycat数据库

1.在mycat中创建数据库mydb1

sql 复制代码
CREATE DATABASE mydb1

创建数据库后会在/conf/schemas目录下生成mydb1.schema.json文件

2.修改mydb1.schema.json文件

在文件中添加"targetName":"prototype"。targetName设置的prototype是读写分离集群的名字,后面会用到。

重启mycat

sql 复制代码
./mycat restart

3.在mycat中配置两个主从复制的数据库mydb1数据源(这里使用sql注解的方式)

sql 复制代码
#设置写数据库数据源
/*+ mycat:createDataSource{ "name":"m1w","url":"jdbc:mysql://192.168.10.128:3306/mydb1? useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8", "user":"root","password":"123456", } */;
#设置读数据库数据源
/*+ mycat:createDataSource{ "name":"m1r","url":"jdbc:mysql://192.168.10.129:3306/mydb1? useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8", "user":"root","password":"123456", } */;
#查看数据源
/*+ mycat:showDataSources{} */

在/conf/datasources/目录下会创建两个数据源文件

4.创建集群

集群name使用mydb1.schema.json中targetName对应的值prototype

sql 复制代码
/*! mycat:createCluster{ "name":"prototype","masters":[ "m1w" ],"replicas":["m1r"]} */;
#查看集群信息
/*+ mycat:showClusters{} */;

创建集群后再/conf/clusters/会生成集群文件

注释:

readBalanceType:查询负载均衡策略

BALANCE_ALL(默认值):获取集群中所有数据源

BALANCE_ALL_READ:获取集群中允许读的数据源

BALANCE_READ_WRITE:获取集群中允许读写的数据源,但允许读的数据源优先

BALANCE_NONE:获取集群中允许写数据源,即主节点中选择

switchType:控制主从切换

NOT_SWITCH:不进行主从切换

SWITCH:进行主从切换
重启mycat

sql 复制代码
./mycat restart

3.mycat2读写分离测试

连接mycat在mydb1数据库中建表保存数据,主从复制的数据库也会同步mydb1数据库中的数据

相关推荐
这个DBA有点耶28 分钟前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
无言听风雨丶2 小时前
Redis 运维实战与排错
运维·数据库·redis
小天源3 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
herinspace4 小时前
管家婆实用贴-SQL 2008如何修改成混合模式
服务器·数据库·sql·管家婆软件·财务软件·合肥管家婆软件
打螺丝的小李4 小时前
制造企业质量管理系统的三类产品形态:分别解决什么问题
数据库·制造
xixingzhe24 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手4 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛5 小时前
MySQL表的连接
数据库·mysql
数字新视界5 小时前
机房动环监控系统在提升数据中心能效与安全中的应用探索
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
bksczm5 小时前
MySQL之存储引擎
数据库·mysql