吊炸天MyCat入门

MyCat 中间件具体做什么的百度一下你就知道,本人只是记录下自己踩的坑

建议:不懂的,可以先去看官网介绍,官网推出的文档:mycat权威指南  不错的。看人多看看,主要是理论知识点懂了就好,具体使用全是配置文件,因为具体的数据扩容算法都是别人写好的,我们只是copy,以下只是简单的使用。

官网链接

http://www.mycat.org.cn/

 

前置条件

本教程是在window环境下运行的,实际生产推荐在Linux上运行。 
必备条件(自行安装,如果不会装请先打好基础在来学习):

  • JDK:建议是1.7及其以上。
  • MySQL:必须是5.5及其以上(最好是5.7,现在主流技术都支持5.7,版本低容易导致数据缺失)

下载地址:http://dl.mycat.io/1.6-RELEASE/

流程图: mycat 中间件【展示的就是逻辑库】

吊炸天MyCat入门_第1张图片

 

 

正式入门开始:

首先建立三个数据库,创建表,其中tb_user不会拆分,只在db0上存在,role则放在两个数据库中 分别如下

吊炸天MyCat入门_第2张图片

这里简单介绍下 mycat的 主要使用的几个配置文件 

conf目录下编辑service.xml,rule.xml,schema.xml三个文件。

service.xml:配置mycat 的用户名密码 数据库名称 对应到schema中的名称

rule.xml:配置拆分规则

schema.xml:配置 数据节点,逻辑物理数据库地址,拆分引入规则名称对应到rule.xml

吊炸天MyCat入门_第3张图片

 

吊炸天MyCat入门_第4张图片

 

 

 

吊炸天MyCat入门_第5张图片

 

然后就可以启动测试了

bin目录下的 startup_nowrap.bat 双击就好

说一下遇到的坑(bug),因为是mycat是java语言编写的,具体报错大家可以看控制台或者log

Mycat查表报错find no Route:select * from `db_user`.`users` limit 0, 100

修改schema.xml的 checkSQLschema=“false”,改为true即可

当该值为true时,例如我们执行语句select * from TESTDB.company 。mycat会把语句修改为 select * from company 去掉TESTDB。

本人的navcat不知道为啥有问题,链接mycat后查询表数据总数不一致的。应该是我的个人问题,后面我用cmd 命令窗口看就没问题

吊炸天MyCat入门_第6张图片

看本人的navcat 表数量就不一样

吊炸天MyCat入门_第7张图片

你可能感兴趣的:(数据库,java,mycat)