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

相关推荐
岁岁种桃花儿2 小时前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
jiunian_cn4 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐4 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
Exquisite.5 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
知识分享小能手5 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
踩坑小念6 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶7 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok7 小时前
MySQL的常用数据类型
数据库·mysql
曹牧7 小时前
Oracle 表闪回(Flashback Table)
数据库·oracle
J_liaty8 小时前
Redis 超详细入门教程:从零基础到实战精通
数据库·redis·缓存