1、下载windows下的mycat安装包
2、保证你的电脑里已经存在jdk和mysql
3、在你心仪的目录下解压mycat安装包,打开conf文件夹,里面含有许多配置文件
4、更改配置文件
再更改之前首先分析几个相关配置文件的内容和作用
1)server.xml是Mycat服务器参数调整和用户授权的配置文件,
可以配置system、firewall、user、cluster四个部分
<mycat:server xmlns:mycat="http://io.mycat/">
<system>
<property name="serverPort">8066</property>
<property name="defaultSqlParser">druidparser</property>
</system>
<user name="root">
<property name="password">123</property>
<property name="schemas">TESTDB</property>
如上所示:最简单的配置主要包含了mycat的端口号、用户名、密码,以及默认的库TESDB。
2)schema.xml是逻辑库定义和表以及分片定义的配置文件,
schema标签、table标签、childTable标签、dataNode标签、dataHost标签
a:schema标签用于定义MyCat实例中的逻辑库,MyCat可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用schema标签来划分这些不同的逻辑库。如果不配置schema标签,所有的表配置,会属于同一个默认的逻辑库。
b:Table标签定义了MyCat中的逻辑表,所有需要拆分的表都需要在这个标签中定义。
c、childTable 标签用于定义 E-R 分片的子表。通过标签上的属性与父表进行关联。
d、用于配置该逻辑库默认的分片
e、定义后端的数据库主机
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3"
rule="mod-long" />
<table name="murmur_test" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3"
rule="sharding-by-murmur" />
<!-- <table name="dual" primaryKey="ID" dataNode="dnx,dnoracle2" type="global"
needAddLimit="false"/> <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_dn3"
rule="mod-long" /> -->
<table name="employee" primaryKey="ID" dataNode="dn1,dn2"
rule="sharding-by-intfile" />
<table name="bookinfo" primaryKey="ID" dataNode="dn1,dn2,dn3"
rule="sharding-by-murmur" />
<table name="customer" primaryKey="ID" dataNode="dn1,dn2"
rule="sharding-by-intfile">
<childTable name="orders" primaryKey="ID" joinKey="customer_id"
parentKey="id">
<childTable name="order_items" joinKey="order_id"
parentKey="id" />
</childTable>
<childTable name="customer_addr" primaryKey="ID" joinKey="customer_id"
parentKey="id" />
</table>
以上部分是配置了所需的逻辑表,以及每个表的分片和分片规则。
</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="2" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="localhost:3307" user="root"
password="root">
<!-- can have multi read hosts -->
</writeHost>
以上配置定义了mycat后端的物理数据库的ip地址、端口、用户和密码。balance="0"代表没有设置读写分离,
还配置了每个物理数据库上的分片名称。
3)rule.xml里面就定义了我们对表进行拆分所涉及到的规则定义。我们可以灵活的对表使用不同的分片算法,或者对表使用相同的算法但具体的参数不同。这个文件里面主要有tableRule和function这两个标签。在具体使用过程中可以按照需求添加tableRule和function。
不用修改
5、用命令行进入mycat安装目录的bin文件夹,执行mycat install,安装mycat,
再执行mycat start,打开mycat服务
6、此时你可以用命令行
mysql -h -uroot -p -P8066
或者用navicat直接连接mycat和mysql