Mycat配置文件schema.xml的详解.docxVIP

  • 19
  • 0
  • 约6.28千字
  • 约 11页
  • 2021-04-13 发布于天津
  • 举报
Mycat 配置文件 schema.xml 的详解 schema 标签的相关属性 dataNode 该属性用于绑定具体的 dataNode 该属性用于绑定具体的 database 到逻辑库上 [html] view plain copylt;schema name=TESTDB checkSQLschema=false sqlMaxLimit=100gt; lt;table name=users primaryKey=ID dataNode=dn1,dn2 rule=rule1/gt; lt;/schemagt; sqlMaxLimit 当该值设置为某个数值时。每条执行的 SQL 语 句,如果没有加上 limit 语句, MyCat 也会自动的加上所对应 的值。 2. table 标签 [html] view plain copylt;table name=travelrecord dataNode=dn1,dn2,dn3 rule=auto-sharding-long gt;lt;/tablegt; Table 标签定义了 Table 标签定义了 MyCat 中 的逻辑表, 所有需要拆分的表都 需要在这个标签中定义。 name 属性 定义逻辑表的表名,这个名字就如同我在数据库中执行 create table 命令指定的名字一样,同个 schema 标签中定 义的名字必须唯一。 dataNode 属性 定义这个逻辑表所属的 dataNode, 该属性的值需要和 dataNode 标签 dataNode 标签 中 name 属性的值相互对应。如果需要定义 的 dn 过多可以使用如下的方法减少配置: [html] view plain copylt;schema name=TESTDB plain copy lt;schema name=TESTDB checkSQLschema=false sqlMaxLimit=100gt; lt;table name=users primaryKey=ID dataNode=dn1,dn2 rule=rule1/gt; lt;/schemagt; lt;dataNode name=dn1 dataHost=localhost1 database=test /gt; lt;dataNode name=dn2 dataHost=localhost1 database=test2 /gt; rule 属性 该属性用于指定逻辑表要使用的规则名字,规则名字在 rule.xml中定义,必须与 tableRule rule.xml 中定义,必须与 tableRule 标签 中 name 属性属性 值一一对应。 primaryKey 属性 该逻辑表对应真实表的主键 type 属性 该属性定义了逻辑表的类型,目前逻辑表只有“全局表”和”普 通表”两种类型。对应的配置:全局表: global 。普通表:不 指定该值为 globla 的所有表。 autoIncrement 属性 MySQL 对非自增长主键, 使用 last_insert_id() 是不会返回结 果的,只会返回 0。所以,只有定义了自增长主键的表才可 mycat 目前提供了自增长以用 last_insert_id() mycat 目前提供了自增长 主键功能,但是如果对应的 mysql 节点上数据表,没有定义 auto_increment ,那么在 mycat 层调用 last_insert_id() 也是 不会返回结果的。由于 insert 操作的时候没有带入分片键, mycat 会先取下这个表对应的全局序列, 然后赋值给分片键。 这样才能正常的插入到数据库中,最后使用 last_insert_id() 才会返回插入的分片键值。如果要使用这个功能最好配合使 用数据库模式的全局序列。使用 autoIncre ment=“ true ” 指定这个表有使用自增长主键, 这样 mycat 才会不抛出分片 键找不到的异常。使用 键找不到的异常。使用 autolncrement= “ false来禁用这个 功能,当然你也可以直接删除掉这个属性。 默认就是禁用的。 needAddLimit 属性 指定表是否需要自动的在每个语句后面加上 limit 限制。这个 属性默认为true,你也可以设置成false禁用掉默认行为。3. childTable 标签 childTable 标签用于定义 E-R 分片的子表。通过标签上的属 性与父表进行关联 [html] view plain copylt;table name=customer primaryKey=ID dataNode=dn1,dn2 rule=sharding-by-intfilegt; lt;c

文档评论(0)

1亿VIP精品文档

相关文档