先来一段schema.xml的配置,以下配置中包含有两套MySQL主从的读写分离、数据分片、主子表配置,各属性看不明白的参考mycat官方文档:http://www.mycat.io/document/Mycat_V1.6.0.pdf
注意要按照schema、datanode 、datahost的顺序放,不能打乱。
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- dev schema environment -->
<schema name="cms-admin-dev" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn_cms-admin">
</schema>
<schema name="cms-member-dev" checkSQLschema="true" sqlMaxLimit="100">
<table name="cms_member_basic" primaryKey="id" dataNode="dn_member$1-4" rule="sharding-by-murmur">
<childTable name="cms_member_detail" primaryKey="id" joinKey="member_id" parentKey="id" />
<childTable name="cms_member_mem_busi" primaryKey="id" joinKey="member_id" parentKey="id" />
</table>
</schema>
<!-- test schema environment -->
<schema name="cms-admin-test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn_cms-admin-test">
</schema>
<schema name="cms-member-test" checkSQLschema="false" sqlMaxLimit="100">
<table name="cms_member_basic" primaryKey="id" dataNode="dn_member-test$1-4" rule="sharding-by-murmur">
<childTable name="cms_member_detail" primaryKey="id" joinKey="member_id" parentKey="id" />
<childTable name="cms_member_mem_busi" primaryKey="id" joinKey="member_id" parentKey="id" />
</table>
</schema>
<!-- dev dataNode environment -->
<dataNode name="dn_cms-admin" dataHost="dh_138" database="cms-admin" />
<dataNode name="dn_member1" dataHost="dh_138" database="cms-member1" />
<dataNode name="dn_member2" dataHost="dh_138" database="cms-member2" />
<dataNode name="dn_member3" dataHost="dh_138" database="cms-member3" />
<dataNode name="dn_member4" dataHost="dh_138" database="cms-member4" />
<!-- test dataNode environment -->
<dataNode name="dn_cms-admin-test" dataHost="dh_140" database="cms-admin" />
<dataNode name="dn_member-test1" dataHost="dh_140" database="cms-member1" />
<dataNode name="dn_member-test2" dataHost="dh_138" database="cms-member2" />
<dataNode name="dn_member-test3" dataHost="dh_140" database="cms-member3" />
<dataNode name="dn_member-test4" dataHost="dh_140" database="cms-member4" />
<!-- dev dataHost environment -->
<dataHost name="dh_138" maxCon="5000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="10.100.96.138:3306" user="root" password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS1" url="10.100.96.139:3306" user="root" password="123456" />
</writeHost>
</dataHost>
<!-- test dataHost environment -->
<dataHost name="dh_140" maxCon="5000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM2" url="10.100.96.140:3306" user="root" password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="10.100.96.140:3306" user="root" password="123456" />
</writeHost>
</dataHost>
</mycat:schema>
以下这篇博客的介绍非常详细,仅供参考:
https://blog.csdn.net/l1028386804/article/details/74936290