大型分布式数据库中间件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官网进一步学习,是一个很值得学习的框架。


原文发布于微信公众号 - Java后端技术(JavaITWork)

原文发表时间:2017-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏代码散人

Vapor奇幻之旅(09 连接MySQL)

这一篇文章主要介绍如何在Vapor项目中连接mysql数据库。MySQL相信是大家最常用的数据库之一了,几乎每个公司都有用到这个数据库,如果你对于数据库的选择相...

11540
来自专栏逸鹏说道

C#线程篇---Windows调度线程准则(3)

Windows本身就是一个抢占式操作系统,它的实现,必定有某种算法在里面,比如什么时候调度哪些线程,需要花费多长时间等问题。 我们时时在用Windows,作为程...

35540
来自专栏草根博客站长有话说

Typecho 支持异步回调版的评论邮件插件 Mailer

Typecho 的评论邮件通知是个比较麻烦的问题, Handsome 主题使用文档里推荐的是 CommentToMail 插件不知道为啥在明月自己的阿里云ECS...

11560
来自专栏代码散人

Vapor奇幻之旅(06 PostgreSQL)

用Vapor连接数据库是一件令人兴奋的事,本篇就来介绍如何使用Vapor来连接PostgreSQL数据库,将数据持久化。

10220
来自专栏睿哥杂货铺

Linux 性能诊断:负载评估

从load avgerage等总括性的数据着手,参考CPU使用率和I/O等待时间等具体的数字,从而自顶向下快速排查各进程状态。

306100
来自专栏美团技术团队

Redis高负载下的中断优化

Redis 服务端的总体请求量从年初最开始日访问量百亿次级别上涨到高峰时段的万亿次级别,给运维和架构团队都带来了极大的挑战。

1.2K110
来自专栏美团技术团队

LsLoader——通用移动端Web App离线化方案

背景 由于JavaScript(以下简称JS)语言的特性,前端作用域拆分一直是前端开发中的首要关卡。从简单的全局变量分配,到RequireJS实现的AMD模块方...

471170
来自专栏北京马哥教育

LINUX上MYSQL优化三板斧

云豆贴心提醒,本文阅读时间7分钟 现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简...

32370
来自专栏杨建荣的学习笔记

MySQL审计插件使用和对比

数据库审计是数据库安全中很重要的一个环节,说到审计,有些上市公司内部还会根据塞班斯法案,进行404审计等等。 而最基本的审计还是需要的,有些同学可能...

82090
来自专栏IT派

Python入门网络爬虫之精华版

首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要的基本概念和技巧:宁哥的小站-网络爬虫

13820

扫码关注云+社区

领取腾讯云代金券