基于MYCAT1.6单表多库水平切片,数据均分至3个数据库:
1. 配置schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="schema1" checkSQLschema="false" sqlMaxLimit="100" >
<table name="t_user" primaryKey="id" dataNode="dn$1-3" rule="mod-long" />
</schema>
<dataNode name="dn1" dataHost="dtHost1" database="db1" />
<dataNode name="dn2" dataHost="dtHost2" database="db1" />
<dataNode name="dn3" dataHost="dtHost3" database="db1" />
<dataHost name="dtHost1" maxCon="500" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" >
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.158.131:3306" user="root" password="root" />
</dataHost>
<dataHost name="dtHost2" maxCon="500" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" >
<heartbeat>select user()</heartbeat>
<writeHost host="hostM2" url="192.168.158.134:3306" user="root" password="root" />
</dataHost>
<dataHost name="dtHost3" maxCon="500" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" >
<heartbeat>select user()</heartbeat>
<writeHost host="hostM3" url="192.168.158.130:3306" user="root" password="root" />
</dataHost>
</mycat:schema>
2. 配置server.xml,需要需改的参数
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mycat:server SYSTEM "server.dtd"> <mycat:server xmlns:mycat="http://io.mycat/"> <system> <property name="charset">utf8mb4</property> <property name="sequnceHandlerType">1</property><!--1主键策略为数据库方式--> </system> <user name="root"> <property name="password">root</property> <property name="schemas">schema1</property> </user> <user name="root2"> <property name="password">root</property> <property name="schemas">schema1</property> <property name="readOnly">true</property> </user> </mycat:server>
3. “主键策略为数据库方式”可参考以下
http://www.cnblogs.com/raphael5200/p/5900007.html