rule.xml

<tableRule name="my-mod-long">
        <rule>
                <columns>id</columns>
                <algorithm>mod-long</algorithm>
        </rule>
</tableRule>
<function name="my-mod-long" class="io.mycat.route.function.PartitionByMod">
        <property name="count">3</property><!--求模取余的数-->
</function>

schema.xml

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
                <table name="data" primaryKey="id" dataNode="dn1,dn2,dn3" rule="my-mod-long"/>
        </schema>
        <dataNode name="dn1" dataHost="localhost1" database="db1" />
        <dataNode name="dn2" dataHost="localhost2" database="db2" />
        <dataNode name="dn3" dataHost="localhost3" database="db3" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="host1" url="192.168.1.199:3306" user="root" password="123456"/>
        </dataHost>
        <dataHost name="localhost2" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="host2" url="192.168.1.166:3306" user="root" password="123456"/>
        </dataHost>
        <dataHost name="localhost3" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="host3" url="192.168.1.176:3306" user="root" password="123456"/>
        </dataHost>
</mycat:schema>


# 序列的使用:

序列的配置,在usr/local/mycat/conf/sequence_conf.properties文件中

还需要在server.xml文件中配置

<property name="sequenceHandlerType">0</property>

在SQL中使用next value for MYCATSEQ_GLOBAL表示序列增长

INSERT INTO data (id,title) VALUES (next value for MYCATSEQ_GLOBAL,@@hostname);


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回