mycat是一个中间层

mycat不存储任何数据,所有数据存储在mysql中

mycat对于开发人员来说就是mysql,但mycat不能支持所有mysql语句

mycat可以实现对后端数据库的分库分表和读写分离、负载均衡

mycat对前端应用隐藏了后端数据库的存储逻辑(比如对后端数据读写分离,如果在程序中实现,则每一个使用数据库的应用程序都要单独来实现自己的读写分离逻辑。而有了mycat,则可在mycat中实现,无需对应用程序做任何修改)

image.png

(作为分布式数据库中间层来使用)

image.png

(还可以访问其他数据库)

mycat的主要作用:

image.png

image.png

image.png

image.png

mycat构成了一个看起来单一的数据库:逻辑库

image.png

image.png

image.png

(ER关系表是mycat特有的分片表,可以把子表的记录与所关联的父表记录存放在同一个数据分片上,也就是子表会依赖父表存储,ER关系表保证相同一组的表不会跨库)

image.png

(mycat是java开发的,要安装jdk)

如果linux已经安装了java,如果版本低于1.7,则要卸载:

image.png

安装jdk:

image.png

创建mycat帐号,并将mycat目录的所有者所属组改为mycat帐号:

image.png

根据服务器情况,修改mycat配置:

image.png

根据当前服务器内存做修改:

image.png

增加系统环境变量:

image.png

image.png

应用刚才定义的变量:

image.png

运行mycat:

image.png