大型分布式数据库中间件MyCat的安装与使用

Posted 徐刘根

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大型分布式数据库中间件MyCat的安装与使用相关的知识,希望对你有一定的参考价值。

官网资料

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" />

代表具体的数据库表中的studentdataNode 是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对应functionname

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官网进一步学习,是一个很值得学习的框架。


更多MyCat学习资料,扫码关注微信公众号:Java后端技术,发送:MyCat,获取学习资源

以上是关于大型分布式数据库中间件MyCat的安装与使用的主要内容,如果未能解决你的问题,请参考以下文章

Mycat-介绍

MyCat 读写分离 数据库分库分表 中间件 安装部署,及简单使用

Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用

Mycat 分布式事务的实现

MyCat:开源分布式数据库中间件

数据库路由中间件MyCat - 使用篇上篇