Mycat 系列之 schema.xml 配置文件介绍

本文详细解读了MyCat中的schema.xml配置,包括schema标签定义逻辑库、table标签定义逻辑表的分片规则,以及dataNode和dataHost标签对数据节点的配置。理解这些配置对高效管理和分片至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库、表、分片规则、DataNode 以及 DataSource。

·

schema 标签

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"></schema>

schema 标签用于定义 MyCat 实例中的逻辑库。MyCat 可以有多个逻辑库,每个逻辑库都有自己的相关配置。如果不配置 schema 标签,所有的表配置,会属于同一个默认的逻辑库。如下所示:

<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>

<schema name="USERDB" checkSQLschema="false" sqlMaxLimit="100">
    <table name="company" dataNode="dn10,dn11,dn12" rule="auto-sharding-long" ></table>
</schema>

·

schema 标签的相关属性

属性 描述
dataNode String 绑定逻辑库到某个具体的 database 上。
checkSQLschema Boolean 当该值为 true 时,执行语句"select * from TESTDB.travelrecord" ,MyCat 会把语句修改为"select * from travelrecord;"。即把表示 schema 的字符去掉,避免发送到后端数据库执行时报错:“ERROR 1146 (42S02): Table ‘testdb.travelrecord’ doesn’t exist”。
建议: SQL 语句最好是不带这个字段。
sqlMaxLimit Integer 当设置为某个数值时,每条 SQL 语句,如果没有加上 limit,MyCat 会自动的加上所对应的值。
如果未设置,MyCat 默认会把查询到的信息全部都展示出来,造成过多的输出。
注意: 如果运行的 schema 为非拆分库,那么该属性不会生效,需要手动添加 limit。

·

table 标签

<table name=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值