zoukankan      html  css  js  c++  java
  • 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成功的界面

  • 相关阅读:
    [BZOJ1659][Usaco2006 Mar]Lights Out 关灯
    [BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链
    [HDU5015]233 Matrix
    [BZOJ1786][BZOJ1831]逆序对
    各种音视频编解码学习详解
    Methods and systems for sharing common job information
    在nodejs使用Redis缓存和查询数据及Session持久化(Express)
    jQuery 遍历 – 同胞(siblings)
    jQuery 遍历 – 后代
    jQuery 遍历 – 祖先
  • 原文地址:https://www.cnblogs.com/wanghuaying/p/9975192.html
Copyright © 2011-2022 走看看