Mycat简介以及安装
Posted 我是程序员却想改变世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件中,标签<schema>为客户端所见,就是说,客户端所看到的数据库为TESTDB,所看到的表为:company以及
goods
其中compay映射在分片dn1 和 dn2上 ,goods映射在分片dn1和dn2上
分片dn1 在名称为localhost1的机器上,数据库的名称为db1
分片dn2 在名称为localhost1的机器上,数据库的名称为db2
名称为localhost1的机器的真实ip为url所指的ip以及端口上。
注,以上操作必须在数据库上手动创建所需的数据库,不然在启动的时候则会报错。
接下来就可以启动进行测试了,启动的命令为,进入bin目录:
./mycat start/stop/restart/status
然后就可以进行连接使用了
以上就是所有关于Mycat安装的内容,后续的关于Mycat的文章还会继续更新
以上是关于Mycat简介以及安装的主要内容,如果未能解决你的问题,请参考以下文章