MyCat配置文件详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shenzhen_zsw/article/details/89191115

目录

MyCat配置文件详解

配置文件详解

1、rule.xml

1.1、tableRule标签

1.2、function标签

2、schema.xml

3、server.xml


MyCat配置文件详解

 

配置文件详解

    mycat主要有3个配置文件,rule.xml,schema.xml和server.xml,这主要对这3个文件作讲解

 

1、rule.xml

    该文件主要定义了分片的规则,这个文件里面主要有tableRule和function这两个标签。在具体使用过程中可以按照需求添加tableRule和function

1.1、tableRule标签

<tableRule name="auto-sharding-long">
    <rule>
        <columns>id</columns>
        <algorithm>rang-long</algorithm>
    </rule>
</tableRule>

说明: 

    1)name:用户标识不同的分表规则

    2)columns:指定按哪一列进行拆分

    3)algorithm:该属性值为下面function标签中name的属性值,定义了连接表规则的具体的路由算法,多个表规则可以连接到同一个路由算法上;

 

1.2、function标签

<function name="rang-long"  class="org.opencloudb.route.function.AutoPartitionByLong">
    <property name="mapFile">autopartition-long.txt</property>
</function>

说明:

    1)name:标识算法的名字; 

    2)class:指定路由算法具体的类名字;

    3)property:具体算法用到的一些属性;

 

 

2、schema.xml

    该文件是MyCat中重要的配置文件之一,管理着MyCat的逻辑库、表、分片规则、DataNode以及DataSource;

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
    <schema name="e3mall" checkSQLschema="false" sqlMaxLimit="100">
        <table name="tb_item" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
    </schema>
    <dataNode name="dn1" dataHost="localhost1" database="db1" />
    <dataNode name="dn2" dataHost="localhost1" database="db2" />
    <dataNode name="dn3" dataHost="localhost1" database="db3" />
    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="hostM1" url="192.168.20.216:3306" user="root" password="root">
        </writeHost>
    </dataHost>
</mycat:schema>

说明:

    1)schema标签:定义mycat实例中的逻辑库;

    2)table标签:定义mycat实例中的逻辑表;

    3)dataNode标签:定义mycat中的数据节点,也是通常说的数据分片;

    4)dataHost标签:作为最底层标签存在,定义了具体的真正存放数据的数据库实例,读写分离配置和心跳语句,我这只用来一台主键,所以只配了一个dataHost,如果你配了N个主机,就要配N个dataHost节点

 

 

 

3、server.xml

<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://org.opencloudb/">
    <system>
        <property name="defaultSqlParser">druidparser</property>
    </system>
    <user name="user">
        <property name="password">user</property>
        <property name="schemas">e3mall</property>
        <property name="readOnly">false</property>
    </user>
</mycat:server>

说明:

1)system标签:内嵌的所有property标签都与系统配置有关

  1.1)defaultSqlParser:指定默认的解析器(如解析sql),目前的可用的取值有:druidparser和 fdbparser。使用的时候可以选择其中的一种,目前一般都使用druidparser;

2)user标签 :name,逻辑用户名,即登录mycat的用户名;

    2.2)password:逻辑密码,即登录mycat的用户名对应的密码;

    2.3)schemas:逻辑数据库,可配置多个,用英文逗号隔开,对应于schema.xml文件中配置的逻辑数据库,两者对应;

    2.4)readOnly:该数据库是否为只读,如果true就是只读;

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/shenzhen_zsw/article/details/89191115