什么是Mycat?
官⽅⽹站:http://www.mycat.org.cn/ http://www.mycat.io/
db proxy Mycat
Mycat架构
Mycat核⼼概念
Schema:由它指定逻辑数据库(相当于MySQL的database数据库)
Table:逻辑表(相当于MySQL的table表)
DataNode:真正存储数据的物理节点
DataHost:存储节点所在的数据库主机(指定MySQL数据库的连接信息)
User:MyCat的⽤户(类似于MySQL的⽤户,⽀持多⽤户)
Mycat主要解决的问题
海量数据存储
查询优化
Mycat对多数据库的⽀持
Mycat分⽚策略
MyCAT⽀持⽔平分⽚与垂直分⽚:
⽔平分⽚:⼀个表格的数据分割到多个节点上,按照⾏分隔。
垂直分⽚:⼀个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。
MyCAT通过定义表的分⽚规则来实现分⽚,每个表格可以捆绑⼀个分⽚规则,每个分⽚规则指定⼀个分⽚字段并绑定⼀个函数,来实现动态分⽚算法。
1.Schema:逻辑库,与MySQL中的Database(数据库)对应,⼀个逻辑库中定义了所包括的Table。
2.Table:表,即物理数据库中存储的某⼀张表,与传统数据库不同,这⾥的表格需要声明其所存储的逻辑数据节点DataNode。在此可以指定表的分⽚规则。
3.DataNode:MyCAT的逻辑数据节点,是存放table的具体物理节点,也称之为分⽚节点,通过DataHost来关联到后端某个具体数据库上
4.DataHost:定义某个物理库的访问地址,⽤于捆绑到Datanode上
Mycat安装
注意:需要先安装jdk(操作系统如果是64位,必须安装64位的JDK)
第⼀步:下载MyCat
wget http://dl.mycat.io/1.6-RELEAS...
第⼆步:解压缩,得到mycat⽬录
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
第三步:进⼊mycat/bin,启动MyCat
- 启动命令:./mycat start
- 停⽌命令:./mycat stop
- 重启命令:./mycat restart
- 查看状态:./mycat status
第四步:访问Mycat
使⽤mysql的客户端直接连接mycat服务。默认服务端⼝为【8066】
mysql -uroot -p123456 -h127.0.0.1 -P8066
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。