首页
学习
活动
专区
工具
TVP
发布

Mycat简介以及安装

举个例子,对于mysql来说,Mycat其实就是一个Mysql的服务器,这个服务器所连接的就是mysql的存储引擎,就是说,Mycat本身并不会去存储数据,只是作为一个媒介存在,简单的说,Mycat就是对数据库能力的一个强化工具。

对于Mycat的理解,不同的身份可以有不同的解释

软件工程师会这么理解:

Mycat其实就相当于一个Mysql的数据库服务器,连接方式也和连接mysql差不多(当然端口是不一样的,不过也是对默认端口而言,Mycat的默认端口是8066)

架构师会这么理解:

Mycat就是一个中间件,可以帮助完成分库分表、读写分离、备份等。

1.Mycat原理

Mycat的原理归结起来可以总结为一个词“拦截”,当java代码发送一个SQL语句,Mycat会对这个语句做分析:包括路由、分片、读写分离、缓存等分析,然后,才会将这个语句发往真正的数据库,然后数据库返回数据给Mycat,Mycat会对数据做一定的分析,然后才会把结果返回给java代码。

原理说起来很简单,但是要实现这个拦截,其实也是很难的。

2.Mycat安装

mycat资源可以在mycat的github上找到:https://github.com/MyCATApache/Mycat-download

下载完成后,解压,然后将解压后的文件转移到指定的目录,推荐目录为/usr/local/Mycat

于目录的具体功能为:bin为可执行文件目录,conf为配置文件目录,lib为一些必要的依赖目录,log则是存放日志文件的目录。

在使用之前,我们还需要先配置两个文件,分别为:schema.xml和server.xml

说明:在schema.xml文件中,标签为客户端所见,就是说,客户端所看到的数据库为TESTDB,所看到的表为:company以及

goods

其中compay映射在分片dn1 和 dn2上 ,goods映射在分片dn1和dn2上

分片dn1 在名称为localhost1的机器上,数据库的名称为db1

分片dn2 在名称为localhost1的机器上,数据库的名称为db2

名称为localhost1的机器的真实ip为url所指的ip以及端口上。

注,以上操作必须在数据库上手动创建所需的数据库,不然在启动的时候则会报错。

接下来就可以启动进行测试了,启动的命令为,进入bin目录:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180817G15FND00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券