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数据库中的数据

相关推荐
马克学长3 小时前
SSM桐梓娄山书店管理系统6k3s6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·用户管理·ssm框架·书店管理系统
老华带你飞3 小时前
博物馆展览门户|基于Java博物馆展览门户系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
傻啦嘿哟3 小时前
Python安全实践:使用加密的XML配置文件保护敏感数据
数据库·oracle
一 乐3 小时前
人事管理系统|基于Springboot+vue的企业人力资源管理系统设计与实现(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·后端
SelectDB4 小时前
浙江头部城商行:每日 700 万查询、秒级响应,Apache Doris 查算分离架构破局资源冲突
数据库·后端·apache
猫猫虫。4 小时前
解决数据库慢查询
数据库
zyxqyy&∞4 小时前
mysql代码小练-3
数据库·mysql
dzl843944 小时前
HikariCP 数据库连接池配置
数据库
万邦科技Lafite4 小时前
一键获取淘宝关键词商品信息指南
开发语言·数据库·python·商品信息·开放api·电商开放平台
程序猿20234 小时前
MySQL的索引
数据库·mysql