MyCat教程【安装及配置介绍】

本文详细解读了Mycat配置中的schema.xml,包括用户管理、读写分离、逻辑库与逻辑表配置,以及如何通过rule.xml进行数据分片规则的设定。重点介绍了dml权限管理和schema检测SQL功能。
摘要由CSDN通过智能技术生成

user

TESTDB

true

</mycat:server>

system标签中设置的是系统级别的相关参数,参考源文件中的注释即可能看懂,初始默认即可

user标签是我们要注意的地方。 Mycat 中的用户,用户可以访问的逻辑库,可以访问的逻辑表,服务的端口号等

说明:上面的默认的配置表示 创建的有两个用户rootuser账号

root 账号,密码是123456,对应的逻辑库是 TESTDB

user 账号,密码是user,对应的逻辑库是 TESTDB,权限是只读

注释掉的privileges 表示root用户的操作权限

| 参数 | 说明 | 事例 |

| — | — | — |

| dml | insert,update,select,delete | 0000 |

dml 权限顺序为:insert(新增),update(修改),select(查询),delete(删除),0000–> 1111,0 为禁止权限,1 为开启权限

2.2 schema.xml


schema.xml 是最主要的配置文件,首先看默认的配置文件

<?xml version="1.0"?>

<mycat:schema xmlns:mycat=“http://io.mycat/”>

<dataHost name=“localhost1” maxCon=“1000” minCon=“10” balance=“0”

writeType=“0” dbType=“mysql” dbDriver=“native” switchType=“1” slaveThreshold=“100”>

select user()

<writeHost host=“hostM1” url=“localhost:3306” user=“root”

password=“123456”>

<writeHost host=“hostS1” url=“localhost:3316” user=“root”

password=“123456” />

</mycat:schema>

2.2.1 主要节点介绍

在配置文件中可以定义读写分离,逻辑库,逻辑表,dataHost,dataNode 等信息.

| 节点 | 描述 |

| — | :-- |

| schema | 配置逻辑库,name 与 server.xml 中 schema 对应 |

| dataNode | 定义数据节点的标签,也就是分库相关配置 |

| dataHost | 物理数据库,真正存储数据的数据库 |

2.2.2 节点及相关属性介绍

2.2.2.1 schema

属性name

逻辑库名称

属性checkSQLschema

是否检测 SQL 语法中的 schema 信息. 如: Mycat 逻辑库名称 A, dataNode 名称 B

SQL : select * from A.table;

checkSQLschema 值是 true, Mycat 发送到数据库的 SQL 是 select * from table;

checkSQLschema 只是 false,Mycat 发送的数据库的 SQL 是 select * from A.table;

属性sqlMaxLimit

Mycat 在执行 SQL 的时候,如果 SQL 语句中没有 limit 子句.自动增加 limit 子句. 避免一次

性得到过多的数据,影响效率. limit子句的限制数量默认配置为100.如果 SQL中有具体的 limit

子句,当前属性失效.

SQL : select * from table . mycat 解析后: select * from table limit 100

SQL : select * from table limit 10 . mycat 不做任何操作修改.

标签 table

定义逻辑表的标签

属性 name

逻辑表名

属性 dataNode

数据节点名称. 即物理数据库中的 database 名称.多个名称使用逗号分隔.

属性 rule

分片规则名称.具体的规则名称参考 rule.xml 配置文件.

2.2.2.2 dataNode

属性 name

数据节点名称, 是定义的逻辑名称,对应具体的物理数据库 database

属性 dataHost

引用 dataHost 标签的 name 值,代表使用的物理数据库所在位置和配置信息.

属性 database

在 dataHost 物理机中,具体的物理数据库 database 名称.

2.2.2.3 dataHost

属性 name

定义逻辑上的数据主机名称

属性 maxCon/minCon

最大连接数, max connections

最小连接数, min connections

属性 dbType

数据库类型 : mysql 数据库

属性 dbDriver

数据库驱动类型, native,使用 mycat 提供的本地驱动.

dataHost 子标签 writeHost

写数据的数据库定义标签. 实现读写分离操作.

属性 host

数据库命名

属性 url

数据库访问路径

属性 user

数据库访问用户名

属性 password

访问用户密码

writeHost 子标签 readHost

属性 host

数据库命名

属性 url

数据库访问路径

属性 user

数据库访问用户名

属性 password

2.3 rule.xml


用于定义分片规则的配置文件。mycat 默认的分片规则: 以 500 万为单位,实现分片规则.逻辑库 A 对应 dataNode - db1 和 db2. 1-500 万保存在 db1 中, 500 万零 1 到 1000 万保存在 db2 中,1000 万零 1 到 1500 万保存在 db1 中.依次类推.

<?xml version="1.0" encoding="UTF-8"?>

<mycat:rule xmlns:mycat=“http://io.mycat/”>

id

func1

user_id

func1

sharding_id

hash-int

id

rang-long

id

mod-long

id

murmur

id

crc32slot

create_time

partbymonth

calldate

latestMonth

id

rang-mod

id

jump-consistent-hash

<function name=“murmur”

class=“io.mycat.route.function.PartitionByMurmurHash”>

0

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!

小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
.(img-skokwzbY-1712175619795)]

[外链图片转存中…(img-nwDFr6SE-1712175619795)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

由于细节内容实在太多了,为了不影响文章的观赏性,只截出了一部分知识点大致的介绍一下,每个小节点里面都有更细化的内容!

[外链图片转存中…(img-Xh0NZyMy-1712175619795)]

小编准备了一份Java进阶学习路线图(Xmind)以及来年金三银四必备的一份《Java面试必备指南》

[外链图片转存中…(img-tOH8R42K-1712175619796)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值