Mycat的简介及安装

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成功的界面

猜你喜欢

转载自www.cnblogs.com/wanghuaying/p/9975192.html