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

相关推荐
东风破_6 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔7 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
橙子家7 小时前
OSS 文件上传的几个风险点和解决方案
数据库
2601_962066499 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
愤怒的苹果ext9 小时前
MySQL Shell备份恢复数据库
数据库·mysql·备份恢复·mysqlsh
数字新视界11 小时前
DCIM管理系统的技术架构与部署模式详解
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
何以解忧,唯有..11 小时前
Pydantic 介绍与使用:Python 数据校验的现代方案
数据库·python·microsoft
超兔一体云12 小时前
MySQL索引优化实战——从慢查询到索引调优
后端·mysql
这个DBA有点耶13 小时前
数据库容灾进入“秒级时代”:同城双活架构原理、关键技术选型与落地实践
数据库·架构·dba
2601_9620748113 小时前
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
大数据·数据库·mysql