Mycat

一、mycat是什么?

1,一个用于mysql读写分离和数据切分的高可用中间件

2,一个模拟为mysql server的超级数据库代理

3,一个能平滑扩展支持1000亿大表的分布式数据库系统

4,一个可管控多种关系数据库的数据库路由器

发展历程:coba----mycat 

二、mycat架构图

 Mycat

逻辑库(scheme):

逻辑表(table):


三、分库分表

垂直拆分:按字段(或业务)拆分,治标不治本。

水平拆分:按数据库条数拆分

拆分处理:1.客户端模式:每一个应用-----多个mysql库

                  2.中间件模式:多个应用---mycat---多个mysql库


四、mycat的安装

1.下载压缩包,解压

2.配置

  1).rule.xml,按字段定义规则(自定义的java类或配置文件):数据库分库分表的规则

  2).server.xml,配置mycat逻辑库的库名,用户名/密码

  3).scheme.xml,多个库和表配置

           <scheme  name="mycat">

  <table name='"employee" dataNode="dn1,dn2,dn3">

          </scheme>

          <dataNode name="dn1" dataHost="L1" dataBase="db1" ></dataNode>

  <dataNode name="dn2" dataHost="L1" dataBase="db2" ></dataNode>

  <dataNode name="dn3" dataHost="L1" dataBase="db3" ></dataNode>

          <dataHost name="L1" dbType="mysql">

<heartbeat>select user()</heartbeat>

                <writeHost></writeHost>

          </dataHost>

3.conf/partion-hash-int.txt

10000=0

10010=1

10020=2

4.启动  bin/mycat start/stop

mycat默认端口8066