Mycat简介:

1.1Mycat含义

简单的说,MyCAT就是:
一个彻底开源的,面向企业应用开发的“大数据库集群”
支持事务、ACID、可以替代Mysql的加强版数据库
一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群
一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server
结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
一个新颖的数据库中间件产品
MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

1.2 Mycat的关键特性

支持 SQL 92标准
支持Mysql集群,可以作为Proxy使用
支持JDBC连接ORACLE、DB2、SQL Server,将其模拟为MySQL Server使用
支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群
自动故障切换,高可用性
支持读写分离,支持Mysql双主多从,以及一主多从的模式
支持全局表,数据自动分片到多个节点,用于高效表关联查询
支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询
多平台支持,部署和实施简单

1.3Mycat架构

如图所示:MyCAT使用Mysql的通讯协议模拟成了一个Mysql服务器,并建立了完整的Schema(数据库)、Table (数据表)、User(用户)的逻辑模型,
并将这套逻辑模型映射到后端的存储节点DataNode(MySQL Instance)上的真实物理库中,这样一来,
所有能使用Mysql的客户端以及编程语言都能将MyCAT当成是Mysql Server来使用,不必开发新的客户端协议。

1.4 Mycat 解决的 问题

性能问题
数据库连接过多
E-R分片难处理
可用性问题
成本和伸缩性问题

1.5Mycat 对多数据的支持

1.6 分片策略

MyCAT支持水平分片与垂直分片:
水平分片:一个表格的数据分割到多个节点上,按照行分隔。
垂直分片:一个数据库中多个表格A,B,C;A存储到节点1上,B存储到节点2上,C存储到节点3上。
这是重点——————————————————————————————

mycat通过定义表的分片规则来实现分片,每一个表格可以捆绑一个分片规则,每个分片规则
指定一个分片字段并绑定一个函数,来实现动态分片算法。
schema:逻辑库,与mysql中的Database(数据库)对应,一个逻辑库中定义了所包含的table。
Table表:就是物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明所存储的逻辑数据节点。
DataNode:在此可以指定表的分片规则
DataNode:Mycat的逻辑数据节点,是存放table的具体物理节点,也称之为分片节点,通过DataSource来关联到后端某个具体数据库上。
DataSource:定义某个物理库的访问地址,用于捆绑到Datanode 上

Mycat安装

2.1 Mycat 下载

Mycat下载可以到官网下载也可到GitHub下载

下载路径:

官方网站:http://www.mycat.org.cn/

github地址https://github.com/MyCATApache

2.2Mycat安装

Mycat安装,需要安装jdk,也要安装mysql

2.2.1上传并解压

把MyCat的压缩包上传到linux服务器,并且解压

[root@localhost local]# tar -xvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
解压到了/usr/loca

2.2.2 启动

/usr/local/mycat/bin/mycat start        启动
/usr/local/mycat/bin/mycat stop 停止
/usr/local/mycat/bin/mycat restart 重启

2.2.3连接

可以使用MySQL自带的客户端进行连接,也可以使用可视化软件进行连接

mycat的默认的账号和密码都是user

客户端连接

 mysql -uuser -puser -P8066 -h192.168.82.110   (注意:端口号前的P为大写的)

注意:可以使用mysql的客户端直接连接mycat服务。默认服务端口为8066
别忘了去防火墙那里开一下的端口号
firewall-cmd --permanent --add-port=8066/tcp
firewall-cmd --reload 链接不上,可以执行:vi /etc/my.cfg 在mysqld节点下添加: skip-name-resolve

2.2.4成功的界面

最新文章

  1. Tomcat 服务应用
  2. jQuery.last() 函数
  3. 百度app测试服务
  4. 《BI项目笔记》报到信息分析Cube
  5. SpringMVC学习系列(2) 之 经典的HelloWorld实现
  6. Java学习-002-Java初识
  7. JS练习题 显示登入者相关好友
  8. HighCharts开发说明及属性详解
  9. UI4_注册登录界面
  10. Win7远程登录Ubuntu14.04
  11. struts 2学习笔记—浅谈struts的线程安全
  12. Jmeter软件测试2--http接口测试
  13. Excel转JSON-简单-暴力-迅速
  14. wikioi 1002 旁路
  15. 快速排序(js版本)
  16. 【SpringMVC】静态资源访问的问题
  17. 修复intellij idea 2017.2中文输入法无候选框,亲测可以用
  18. grunt,提示node不是内部命令也不是外部命令
  19. week2--操作系统是如何工作的
  20. Android 软键盘弹出与关闭监听

热门文章

  1. 在MVC模式下通过Jqgrid表格操作MongoDB数据
  2. html中的锚点介绍和使用
  3. 在Docker内安装jenkins运行和基础配置
  4. Ionic3学习笔记(十)实现夜间模式功能
  5. 将js进行到底:node学习10
  6. linux增加history时间戳
  7. 初识Machine Learning
  8. GDB调试指南-单步调试
  9. HTC新机A9足以取代iPhone 你相信吗?
  10. java里面的设计模式