MyCat-入门、配置

MyCat入门

概念

       MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生(native)协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。

       MyCat是一个数据库中间件,可以像使用mysql一样来使用mycat,对于开发人员来说根本感觉不到mycat的存在 。

  • 性能有瓶颈了,可以读写分离
  • 数据库容量有瓶颈了,可以分库分表

原理

        MyCat技术原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

安装MyCat

目录结构


bin:存放可执行文件,用于启动停止mycat
conf:存放mycat的配置文件
lib:存放mycat的项目依赖包(jar)
logs:存放mycat的日志文件

具体安装步骤

链接:https://pan.baidu.com/s/1rzaDhnFsUVaLN0gn0YOIEA 
提取码:khri 
------这里面有安装步骤

链接:https://pan.baidu.com/s/1_r0OlkfUhUInCHn6-TmrIg 
提取码:li15 
------这个里面是安装包以及依赖,1.6版本的mycat

启动服务

mycat我们放在了/usr/local/下
bin/mycat start 进入bin目录下 ./mycat console #启动
bin/mycat stop 进入bin目录下 ./mycat stop#停止
mycat启动后,占用端口号8066
连接登录mycat
mysql -h 192.168.25.10 -p 8066 -u root -p

MyCat配置

分片配置文件主要是以下3个

  • schema.xml配置逻辑库、逻辑表、数据节点、节点主机
  • server.xml 配置mycat的用户及用户的权限信息
  • rule.xml分片规则

schema.xml配置文件

       schema.xml作为MyCat中最重要的配置文件之一,涵盖了MyCat的逻辑库、逻辑表、分片规则、分片节点以及数据源的配置

主要包含以下标签:
schema标签:定义逻辑库,一个mycat实例中,可以有多个逻辑库,等同于musql中的database                            概念,需要操作某个逻辑库下的表时,也需要切换逻辑库。 
核心属性:

  • name:指定自定义的逻辑库库名
  • checkSQLschema:在SQL语句操作时指定了数据库名称,执行时是否自动去除;ture:自动去除,false:不自动去除
  • sqlMaxLinit:如果未指定limit进行查询,列表查询模式查询多少条记录

table标签:定义了mycat逻辑库schema下的逻辑表,所有需要拆分的表都需要在table标签中定义                     。
核心属性:

  • name:定义逻辑表表名,在该逻辑库下唯一
  • dataNode:定义逻辑表所属dataNode,多个dataNode逗号分隔 
  • rule:分片规则的名字,分片规则名字是在rule.xml中定义的
  • primaryKey:逻辑表对应真实表的主键
  • type:逻辑表的类型,目前逻辑表只有全局表和普通表,如果未配置,就是普通表;全局表,配置为global

datanode标签:定义了mycat中数据节点,一个datanode标签就是一个独立的数据分片
核心属性:

  • name:数据节点名称
  • datahost:主机名称
  • database:定义分片所属数据库

datahost标签:作为逻辑库中的底层标签,直接定义了具体的数据库实例、读写分离、心跳语句
核心属性:

  • name:唯一标识
  • maxCon/minCon:最大连接数/最小连接数
  • balance:负载均衡策略,取值0,1,2,3
  • writeType:写操作分发方式

                   0:写操作转发到第一个writeHost,第一个挂了,切换到第二个
                   1:写操作随机分发到配置的writeHost

  • dbDriver:数据库驱动,支持native、jdbc

rule.xml配置文件

       rule.xml配置文件定义所有拆分表的规则,在使用过程中可以灵活的使用分片算法,或者对同一个分片算法使用不同的参数,它让分片过程可配置化。主要包含两类标签:tableRule、Function(分片规则涉及到的java类以及参数配置)

MyCat-规则-CSDN博客在这篇里会具体讲到rule.xml配置文件中的分片规则。

server.xml配置文件

包含了mycat的系统配置信息,主要有两个标签

  •         system标签:对应的系统配置项及其含义
  •         user标签:用户以及用户权限(就近原则,在设置权限时,以逻辑表的为主)

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值