Mycat 之谜

一、概念

        Mycat是一个广受好评的数据库中间件,为了减轻单数据库的压力,可以实现主从、热备、分表分库,从而实现数据库的分布式架构。

 

二、Mycat原理

        Mycat作为一个中间件,应用程序直接访问它,不用 再去管真实的数据库,而由Mycat来与真实的数据库进行交互,真实的数据库可能有多个,这就是分布式架构,即多节点(多分片)。

Mycat 之谜

三、Mycat应用场景

1、单纯的读写分离,此时配置最为简单,支持读写分离,主从切换分表分库,对于超过1000万的表进行分片,最大支持1000亿的单表分片。

2、多租户应用,每个应用一个库,但应用程序只连接Mycat,从而不改造程序本身,实现多租户化报表系统,借助于Mycat的分表能力,处理大规模报表的统计。

3、替代Hbase,分析大数据。

四、Mycat安装教程

下载:去Mycat官网下载,我这里下载的是1.4版本的,Windows系统的。

Mycat官方网站:http://www.mycat.io/

Mycat 之谜

 

 

注意:

Mycat的默认端口是:8066,对于应用程序来说,数据库名为Mycat的中间件逻辑数据库名,不再是某个真实的数据库名。

Mycat的配置文件,在conf目录下面有:server.xml、schema、rule.xml,以及ehcache.xml、log4j2.xml,我们主要使用前三个。

 

解压文件后配置如下:

1、server.xml

Mycat 之谜

2、schema.xml

Mycat 之谜

3、rule.xml

Mycat 之谜

4、log4j.properties(为了更好地定位错误,修改log4j.xml)

Mycat 之谜

5、mycat ip 配置

Mycat 之谜

6、mycat 链接 

Mycat 之谜

 

7、mycat-master(主)-mycat 用户,拥有读写权限。

数据已同步过来:

Mycat 之谜

8、mycat (slave) 从库  拥有读的权限。

Mycat 之谜

写数据会报错:

Mycat 之谜

总结:MyCat 的应用大概就是这些,后续深入包含分库分表等,后续更新。

谢谢大家的观看!