环境搭建
以windows版本的mycat演示
第一步:下载Mycat
下载mycat地址:
https://github.com/MyCATApache/Mycat-download/tree/master/1.4-RELEASE
下载了好久下载的不能用,分享出来一份我之前收藏的压缩包
链接:https://pan.baidu.com/s/1B_pYJA1vSqLKlrBunTUBUw
提取码:u6g9
复制这段内容后打开百度网盘手机App,操作更方便哦
解压后配置环境变量:
如图:
MYCAT_HOME配置:
第二步:解压
下载成功后,解压到本地,目录结构如下:
第三步:配置
修改配置文件(mycat–>conf):
wrapper.conf:这里改成你本地安装jdk的路径。
重要的配置文件server.xml和schema.xml
server.xml:登录mycat的用户名和密码就是test,数据库名就是TESTDB
schema.xml:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<!-- auto sharding by id (long) -->
<table name="test" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
<!-- global table is auto cloned to all defined data nodes ,so can join
with any table whose sharding node is in the same data node -->
<!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743"
/> -->
<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="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="localhost:3306" user="root"
password="root">
</writeHost>
</dataHost>
</mycat:schema>
schema的配置要与你本地安装的mysql有关:
“2”是你本地mysql的分库名称,
“3”是你本地mysql的账号密码,
“1”是mycat和本地mysql表关联配置,table是表名,dataNode就是哪些分库里有test表。我三个分库都有test这张表,所以都配置了。rule是test这张表的执行规则,规则名字是:auto-sharding-long,规则设置在rule.xml里,我们可以去看看:
rule.xml
搜索标注的:
第四步:启动
如果可以看到如下信息,说明启动成功。
如果报错的话,可以在如下目录查看日志信息。
第五步:测试
启动好了后,接下来使用navicat连接mycat,新建一个mysql连接,如下图:连接成功,其中 8066端口是mycat的默认端口
打开刚刚新建的mysql连接,可以看到有一个TESTDB数据库:
这些表信息,其实都是在schema.xml文件中配置的。
schema.xml文件中具体配置的意义请参考Mycat权威指南一书。
本地mysql数据库新建db1、db2、db3三个数据库
然后在db1、db2、db3中新建test表,并且 分别存入如下数据:
建表SQL:
CREATE TABLE `test` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`is_del` int(2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
最后再在TESTDB中点开test,可以看到如下信息:
到现在就mycat就安装好了。
可参考其他资料: