• ADADADADAD

    MySQL分布式集群MyCAT(一) 简介及安装[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:10:45

    作者:文/会员上传

    简介:

    MyCAT背景MyCAT的前身,是阿里巴巴于2012年6月19日,正式对外开源的数据库中间件Cobar,Cobar的前身是早已经开源的Amoeba,不过其作者陈思儒离职去盛大之后,阿里巴巴内部考虑到Amoe

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。


    MyCAT背景

    MyCAT的前身,是阿里巴巴于2012年6月19日,正式对外开源的数据库中间件Cobar,Cobar的前身是早已经开源的Amoeba,不过其作者陈思儒离职去盛大之后,阿里巴巴内部考虑到Amoeba的稳定性、性能和功能支持,以及其他因素,重新设立了一个项目组并且更换名称为Cobar。Cobar是由Alibaba开源的MySQL分布式处理中间件,它可以在分布式的环境下看上去像传统数据库一样提供海量数据服务。

    Cobar自诞生之日起,就受到广大程序员的追捧,但是自2013年后,几乎没有后续更新。在此情况下,MyCAT应运而生,它基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能,以及众多成熟的使用案例使得MyCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,MyCAT能看到更远。


    MyCAT关键特性

    ·遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。
    ·支持SQL92标准。

    ·基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galeracluster集群。

    ·支持GaleraforMySQL集群,PerconaCluster或者MariaDBcluster。

    ·基于Nio实现,有效管理线程,高并发问题。

    ·支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数。

    ·支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。

    ·支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。

    ·支持多租户方案。

    ·支持分布式事务(弱xa)。

    ·支持全局序列号,解决分布式下的主键生成问题。

    ·分片规则丰富,插件化开发,易于扩展。

    ·强大的web,命令行监控。

    ·支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQLServer、mongodb、巨杉。

    ·支持密码加密

    ·支持服务降级

    ·支持IP白名单

    ·支持SQL黑名单、sql注入攻击拦截

    ·支持分表(1.6)/li>

    ·集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。


    MyCAT架构



    总体上分成三个部分,最前端的是连接器,线程管理使用了资源池,并且默认采用了AIO的方式(这些基本信息可以再启动日志里面看到)。
    中间层在图中已经描述的很清楚了,SQL解析器+SQL路由,SQ,DataNode和心跳检测算是中间层实现的两个组件,一个是和MySQL的库(注意,不是实例)相关,一个是常见的监测机制的功能模块。
    最下层的存储就是是MySQL的集群了,如何使用MySQL的集群,由我们自己决定。

    MyCAT配置项

    MyCAT目前通过配置文件的方式来定义逻辑库和相关配置,主要是包括三个文件:
    MYCAT_HOME/conf/schema.xml中定义逻辑库,表、分片节点等内容。
    MYCAT_HOME/conf/rule.xml中定义分片规则。
    MYCAT_HOME/conf/server.xml中定义用户以及系统相关变量,如端口等。

    MyCAT部署

    部署mycat软件,如下:

    1、卸载旧jdk

    yumremovejava-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64java-1.7.0-openjdk-devel-1.7.0.65-2.5.1.2.el6_5.x86_64

    2、安装jdk

    rpm-ivhjdk-8u45-linux-x64.rpm

    3、解压mycat软件,移动到相应目录

    tar-zxvfMycat-server-1.4-RELEASE-20150901112004-linux.tar.gz

    mvmycat/usr/local

    4、创建mycat用户,软件目录,修改密码

    useraddmycat

    chown-Rmycat.mycat/usr/local/mycat

    chmod-R750/usr/local/mycat

    passwdmycat

    5、测试启动mycat

    ./mycatconsolestart


    RunningMycat-server...

    wrapper|-->WrapperStartedasConsole

    wrapper|LaunchingaJVM...

    jvm1|JavaHotSpot(TM)64-BitServerVMwarning:ignoringoptionMaxPermSize=64M;supportwasremovedin8.0

    jvm1|Wrapper(Version3.2.3)http://wrapper.tanukisoftware.org

    jvm1|Copyright1999-2006TanukiSoftware,Inc.AllRightsReserved.

    jvm1|

    jvm1|log4j2015-11-1014:32:23[./conf/log4j.xml]loadcompleted.

    jvm1|MyCATServerstartupsuccessfully.seelogsinlogs/mycat.log

    --启动成功

    --liuyu


    MySQL分布式集群MyCAT(一) 简介及安装.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mycatmysql分布式