ToB企服应用市场:ToB评测及商务社交产业平台

标题: MySQL运维5-Mycat配置 [打印本页]

作者: 忿忿的泥巴坨    时间: 2024-2-19 02:57
标题: MySQL运维5-Mycat配置
一、schema.xml

  1.1 简介

    schema.xml作为Mycat中最重要的配置文件之一,涵盖了Mycat的逻辑库、逻辑表、分片规则、分片节点即数据源的配置。主要包括一下三组标签
  1.2 schema标签

    用于定于Mycat实例中的逻辑库,一个Mycat实例中,可以有多个数据库,可以通过schema标签来划分不同的逻辑库。Mycat中的逻辑库的概念,等同于MySQL中的database概念没需要操作某个逻辑库下的表时,就需要切换逻辑库,同MySQL一样,使用use xxxx语句。
    
    核心属性:
    checkSQLschema参数演示:
    
     说明1:当checkSQLschema为true时,我们可以不进入数据库查询,即使用DB01.TB_ORDER的方式,但是如果checkSQLschema为false的时候,就不能这样写了,就必须要要先usr DB01;今日数据库里面在查找,所以这里大家就直接给true就行了。
  1.3 schema标签中的table标签

    table标签定义Mycat中逻辑库schema下的逻辑表,所有需要查分的表都需要在table标签中定义。
    核心属性
  1.4 dataNode标签

    
     dataNode标签中定义了Mycat中的数据节点,也就是我们通常说的数据分片,一个dataNode标签就是一个独立的数据分片
    核心属性
  1.5 dataHost标签

    
    该标签在Mycat逻辑库中作为底层标签,直接定义了具体的数据库实例、读写分离,心跳语句。
    核心属性:
  1.6 schema.xml逻辑库映射

    逻辑库的名字和mysql数据库中的名字可以不一致的,例如我们这里配置的逻辑库的名字是大写的DB01,而MySQL中的数据库名则是小写的db01,这取决于逻辑库和MySQL真实数据库的映射关系。
    
    schema.xml整体配置流程即关系隐射示意
    
 二、rule.xml

  rule.xml中定义了所有拆分表的规则,在使用过程中可以灵活的使用分片算法,或者对同一个分片算法使用不同的参数,它让分片过程可配置化,主要包含两类标签:tableRule,Function
  
  
  而在schema.xml中配置的分片规则就是在这里定义的
  
  说明1:在tableRule标签里面主要有columns和algorithm两个标签。
  说明2:columns标签主要是分表的依据
  说明3:algorithm标签主要是,分库分表的算法引用,这里algorithm里面的值就是Function标签的实现。
  
  例如:auto-sharding-long 分表规则的,依据是rang-long这个算法。
  
  而 rang-long这个算法就在function标签中有定义,而function标签中的class就是对应这个算法的实现类。
  说明4:至于这里面的分库分表的规则具体的使用,我们会在后面分库分表实战章节,用到的时候在详细说。 
三、server.xml

  server.xml配置文件包含了Mycat的系统配置,主要有两个重要的标签:system, user.
  3.1 system标签

    
     重要属性说明:
  3.2 user标签

    
      说明1:server.xml中允许有多个user,即同时配置多个用户的权限
    说明2:如果一个账户可以访问多个逻辑库,多个逻辑库之间用逗号隔开
    说明3:dml中的四个二进制数分别代表增,改,查,删的权限
    说明4:如果逻辑表和逻辑库的权限冲突,则就近原则,即优先使用逻辑表的权限
    
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4