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

相关推荐
五岳18 小时前
分库分表数据源ShardingSphereDataSource的Connection元数据误用问题分析
java·mysql·爬坑
悄悄敲敲敲19 小时前
MySQL表的约束
数据库·mysql
鼠爷ねずみ19 小时前
SpringCloud前后端整体开发流程-以及技术总结文章实时更新中
java·数据库·后端·spring·spring cloud
九皇叔叔19 小时前
MySQL 数据库 Read View 详解
数据库·mysql·mvcc·read view
Elastic 中国社区官方博客20 小时前
Elasticsearch:圣诞晚餐 BBQ - 图像识别
大数据·数据库·elasticsearch·搜索引擎·ai·全文检索
cui_win20 小时前
Prometheus实战教程 - Redis 监控
数据库·redis·prometheus
JIngJaneIL21 小时前
基于java + vue个人博客系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
TG:@yunlaoda360 云老大21 小时前
华为云国际站代理商备份策略设置过程中遇到问题如何解决?
服务器·数据库·华为云
SelectDB21 小时前
Doris Catalog 已上线!性能提升 200x,全面优于 JDBC Catalog,跨集群查询迈入高性能分析时代
数据库·数据分析·apache
TAEHENGV1 天前
进度跟踪模块 Cordova 与 OpenHarmony 混合开发实战
android·javascript·数据库