Mycat(6):mycat简单配置

news/2024/11/17 16:01:05/

1 找到conf/schema.xml并备份

 

2 配置虚拟表table[在schema里面]

 

其中 sharding-by-intfile

 

为rule.xml中的规则

 规则文件为conf文件夹中的partition-hash-int.txt

 

3 配置数据节点dataNode

现在数据库新建3个数据库,skywalking,skywalking1,skywalking2。

name:节点名称

dataHost:主机名

database:数据库名

 

4 配置节点主机dataHost

 

dataHost属性说明                                                                   

 

(1)name

        唯一标识dataHost 标签,供上层的标签使用。

(2)maxCon

        指定每个读写实例连接池的最大连接。也就是说,标签内嵌套的 writeHost、readHost 标签都会使用这个属性的值来实例化出连接池的最大连接数。

(3)minCon

        指定每个读写实例连接池的最小连接,初始化连接池的大小。

(4)balance 

        负载均衡类型,目前的取值有 3 种:

        1. balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。

        2. balance="1",全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。

        3. balance="2",所有读操作都随机的在 writeHost、readhost 上分发。

        4. balance="3",所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。

(5)writeType 

        负载均衡类型,目前的取值有 3 种:

        1. writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties .

        2. writeType="1",所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐。switchType 属性

        - -1 表示不自动切换

        - 1 默认值,自动切换

        - 2 基于 MySQL 主从同步的状态决定是否切换

(6)dbType

        指定后端连接的数据库类型,目前支持二进制的 mysql 协议,还有其他使用 JDBC 连接的数据库。例如:mongodb、oracle、spark 等。

(7)dbDriver

        指定连接后端数据库使用的 Driver,目前可选的值有 native 和 JDBC。使用 native 的话,因为这个值执行的是二进制的 mysql 协议,所以可以使用 mysql 和 maridb。其他类型的数据库则需要使用 JDBC 驱动来支持。

        从 1.6 版本开始支持 postgresql 的 native 原始协议。

        如果使用 JDBC 的话需要将符合 JDBC 4 标准的驱动 JAR 包放到 MYCAT\lib 目录下,并检查驱动 JAR 包中包括如下目录结构的文件:META-INF\services\java.sql.Driver。在这个文件内写上具体的 Driver 类名,例如:com.mysql.jdbc.Driver。

5 修改conf/partition-hash-int.txt

用于分库规则,其中10000,10010,10020对应的是规则中的sharding_id

skywalking对应10000,skywalking1对应10010,skywalking对应10020。

数据在插入的时候需要携带相应的sharding_id。

设置完成以后,重启mycat 

6 在SQLyog新建表格

使用SQLyog连接mycat建立数据库表。

Create TABLE sys_user (id INT PRIMARY KEY,username VARCHAR(20) NOT NULL,address VARCHAR(20),sharding_id INT
)

 

执行插入语句

INSERT INTO sys_user(id,username,address,sharding_id) VALUES(1,'熊帅','南京',10000)

由于sharding_id为10000,则插入到skywalking数据库。

查看执行计划

EXPLAIN INSERT INTO sys_user(id,username,address,sharding_id) VALUES(1,'熊帅','南京',10000)

 

注意:

如果插入时候,不带规则需要的字段,会报错,如下:

 


http://www.ppmy.cn/news/4951.html

相关文章

艾美捷利妥昔单抗Rituximab参数及应用

艾美捷利妥昔单抗Rituximab背景: 利妥昔单抗是一种针对CD20抗原的基因工程嵌合鼠/人单克隆IgG1κ抗体。利妥昔单抗的分子量约为145 kD。利妥昔单抗由哺乳动物细胞(中国仓鼠卵巢)产生。 艾美捷利妥昔单抗Rituximab基本参数: 中文…

Jenkins(2)— 配置webhooks触发器

1、项目配置 项目配置 >> 构建触发器 >> 选择Gitee webhook触发器 生成Gitee WebHook密码:46d678257c0399b105635bcb9722ea09 2、Gitee配置 Gitee项目 >> 管理 >> 配置WebHooks 注意: 由于我的jenkins是部署在本地的&#xff…

【MySQL】-索引以及树的常用数据结构分析

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【MySQL】 分享:纵一苇之所如,凌万顷之茫然。——《赤壁赋》 主要内容:MySQL中索引的介绍、创建索引、使用索引;索引背后的数据结构…

Pandas提取数据的几种方式

文章目录前言Pandas读取数据的几种方式1. read_csv2. read_excel3. read_sql总结前言 快期末了,数据挖掘的大作业需要用到python的相关知识(这太难为我这个以前主学C的人了,不过没办法还是得学😂),下面是我…

集合的框架体系和Collection接口

1.集合的理解和好处 前面我们保存多个数据使用的是数组,那么数组有不足的地方,我们分析一下 1.1数组 1)长度开始时必须指定,而且一旦指定,不能更改 2)保存的必须为同一类型的元素 3)使用数组进行增加/删除元素的示例代码-比较麻烦…

通过项目下的包名获取包下的全部类

通过项目下的包名获取包下的全部类 关键点: ClassLoader.getResources() 返回给定包目录下所有资源。 是一个非静态方法,它只能通过类对象访问,如果我们尝试使用类名访问方法,那么我们将得到一个错误。 方法可能在返回资源时抛出…

2023年大学毕业生,我有话想对你说

虽然每年都说大学毕业生有多少多少,就业难,但貌似以往的经济寒冬,互联网寒冬都不如2022年2023年这么寒冷。 可以说,2022年一整年都是在裁员的声音中度过的,有的公司逐渐取消年终奖,原本熙熙攘攘的办公室&am…

【Linux磁盘管理】

Linux磁盘管理 写在前面 在此强调一个 Linux 的核心机制就是一切皆文件。 I/O Ports 即I/O 设备地址,用来标识硬件对应的设备地址,来让操作系统以及 cpu 使用。 CPU 的核数不一定就是越多越好,由于CPU 协调之间的协调问题,可能性…