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

Posted Java后端技术

tags:

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

官网资料

MyCat官网:http://www.mycat.io/

MyCat权威指南:http://www.mycat.io/document/Mycat_V1.6.0.pdf

MyCat下载

下载之后解压为如下:

MySQL环境搭建

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

2、192.168.1.235、192.168.1.237的mycat_demo 表完全一样,这里可以任意建表,只要保持两个主机mysql的库、表一致:

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

表结构:

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

MyCat配置

配置文件是在/conf 目录下,默认修改红色区域文件即可使用:

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

1、修改server.xml,这里只修改连接MyCat的用户名和密码,如下:

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

其中schemas是逻辑库,在后边的配置会用到,这里配置了一个逻辑库为:MYCAT_DEMO

2、修改schema.xml文件,配置逻辑库:

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

在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就是该节点中具体存在的一个数据库。

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

这个配置的就是具体的某一个MySQL服务器节点的,这里配置的意思是:对于该dataHost 所有的读写都发生在192.168.1.235 主机上。

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

文档介绍的很详细,每一个属性都有介绍到,这里不再赘述。

3、修改rule.xml,配置路由规则:

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

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 目录下:

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

这里我们直接双击:startup_nowrap.bat即可运行。

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

启动不报错,即表示成功运行。

由于使用MyCat和使用普通的MySQL数据库是一样的,因此我们可以直接使用Navicat直接进行链接:

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

默认端口为:8066

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

可以看到我们在schema.xml文件中配置的逻辑库和逻辑表。

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

可以看出完全和使用普通的MySQL一样的,当然在代码中使用也是一样的,只需要把链接换成MyCat的即可。例如我配置的一个c3p0连接池如下:



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

Mycat-介绍

mycat分片操作

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

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

MyCat数据库中间件 - 分库

Mycat中的核心概念