大型分布式数据库中间件MyCat的安装与使用 - java后端
官网资料
MyCat官网:http://www.mycat.io/
MyCat权威指南:http://www.mycat.io/document/Mycat_V1.6.0.pdf
MyCat下载地址:http://dl.mycat.io/
MyCat下载
下载之后解压为如下:
MySQL环境搭建
1、MySQL主机地址:192.168.1.235、192.168.1.237
2、192.168.1.235、192.168.1.237的mycat_demo
表完全一样,这里可以任意建表,只要保持两个主机mysql的库、表一致:
表结构:
MyCat配置
配置文件是在/conf
目录下,默认修改红色区域文件即可使用:
1、修改server.xml
,这里只修改连接MyCat的用户名和密码,如下:
其中schemas
是逻辑库,在后边的配置会用到,这里配置了一个逻辑库为:MYCAT_DEMO
。
2、修改schema.xml
文件,配置逻辑库:
在MyCat中schema
是逻辑库,schema
标签下的table
是逻辑表,其中:
<table name="event" primaryKey="eventid" dataNode="dn1,dn2" rule="sharding-by-murmur" />
代表具体的数据库表中的student
,dataNode
是MyCat中的分片节点,rule
对使用这种表的路由规则。
<dataNode name="dn1" dataHost="db235" database="mycat_demo" />
dataNode
节点中的name
就是上述table
节点中使用到的dataNode
名称,dataHost
是具体每一个数据库服务器的节点名称,在下边进行配置的,database
就是该节点中具体存在的一个数据库。
这个配置的就是具体的某一个MySQL服务器节点的,这里配置的意思是:对于该dataHost
所有的读写都发生在192.168.1.235
主机上。
关于更多参数可以参考:MyCat权威指南(下载地址:http://www.mycat.io/document/Mycat_V1.6.0.pdf)
文档介绍的很详细,每一个属性都有介绍到,这里不再赘述。
3、修改rule.xml
,配置路由规则:
在schema.xml
文件中的逻辑表event
使用的逻辑规则是sharding-by-murmur
,因此就需要在rule.xml
中进行配置,这个路由规则是Hash一致性算法。
– colums:表示需要分片的属性,我这里是
eventid
;
– property->count:是在schema.xml
中我们配置的分片的个数,即dataNode
的个数,我这里是2;
这个是rule.xml
提供的,我这里只是删除了其他未使用的路由规则,方便查看,也就是说,我们是使用了MyCat提供给我们的这个路由规则,所以不用修改这个文件的任何内容。
各个标签的对应关系很好理解,algorithm
中的murmur
对应function
的name
。
MyCat启动
因为我这里是在Window平台上做的实验,启动文件在/bin
目录下:
这里我们直接双击:startup_nowrap.bat
即可运行。
启动不报错,即表示成功运行。
由于使用MyCat和使用普通的MySQL数据库是一样的,因此我们可以直接使用Navicat直接进行链接:
默认端口为:8066
可以看到我们在schema.xml
文件中配置的逻辑库和逻辑表。
可以看出完全和使用普通的MySQL一样的,当然在代码中使用也是一样的,只需要把链接换成MyCat的即可。例如我配置的一个c3p0连接池如下:
至此,MyCat的安装于基本的使用完成,更多MyCat的使用,请参照:MyCat权威指南(下载地址:http://www.mycat.io/document/Mycat_V1.6.0.pdf ),上面介绍的非常非常的详细,这里只是引出MyCat的大致内容,更多细节还请去MyCat官网进一步学习,是一个很值得学习的框架。