前提准备:
- jdk:要求jdk必须是1.7及以上版本 (我使用的是jdk 1.8)
- Mysql:推荐mysql是5.5以上版本(我使用的是mysql 5.7)
下载mycat https://github.com/MyCATApache/Mycat-download
解压:
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
修改配置文件
路径 /wt/software/mycat/conf/server.xml
<user name="root">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
<!-- 表级 DML 权限设置 -->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100">
<!-- auto sharding by id (long) -->
<table name="users" dataNode="dn1,dn2" rule="mod-long" />
</schema>
<dataNode name="dn1" dataHost="localhost1" database="test" />
<dataNode name="dn2" dataHost="localhost2" database="test" />
<!-- <dataNode name="dn3" dataHost="localhost1" database="test1" /> -->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.73.128:3306" user="root"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="192.168.73.129:3306" user="root" password="123456" />
</writeHost>
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.73.135:3306" user="root"
password="123456">
<!-- can have multi read hosts -->
<!-- <readHost host="hostS2" url="192.168.73.129:3306" user="root" password="123456" /> -->
</writeHost>
</dataHost>
</mycat:schema>
rule.xml
其他内容暂不需要修改,最基本的分库分表就建成功了。