- MyCAT就是:一个彻底开源的,面向企业应用开发的“大数据库集群”,支持事务、ACID、可以替代Mysql的加强版数据库,一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群的一个新颖的数据库中间件产品
- mycat可以解决:性能问题,数据库连接过多,E-R分片难处理,可用性问题,成本和伸缩性问题;而且mycat支持多种数据库,如mysql,oracle,SqlServer,mangoDb等等
- MyCAT支持水平分片与垂直分片
水平分片:一个表格的数据分割到多个节点上,按照行分隔。
垂直分片:一个数据库中多个表格A,B,C,A存储到节点1上,B存储到节点2上,C存储到节点3上。
-
安装mycat(需要JDK环境):第一步:把MyCat的压缩包上传到linux服务器
第二步:解压缩,得到mycat目录
第三步:进入mycat/bin,启动MyCat
启动命令:./mycat start
停止命令:./mycat stop
重启命令:./mycat restart
注意:可以使用mysql的客户端直接连接mycat服务。默认服务端口为8066
若是LINUX版本的MYSQL,则需要设置为Mysql大小写不敏感,否则可能会发生表找不到的问题。
在MySQL的配置文件中my.ini [mysqld] 中增加一行
lower_case_table_names = 1
- 配置schema.xml
7、配置Server.xml
主要配置登录mycat的用户和密码 以及在schema.xml配置的表
8、启动mycat之后,利用数据库工具登录mycat并插入测试数据
由于配置的分片规则为“auto-sharding-long”,所以mycat会根据此规则自动分片。
每个datanode中保存一定数量的数据。根据id进行分片
经测试id范围为:
Datanode1:1~5000000
Datanode2:5000000~10000000
Datanode3:10000001~15000000
当15000000以上的id插入时报错:
[Err] 1064 - can't find any valid datanode :TB_ITEM -> ID -> 15000001
此时需要添加节点了。