mycat简单配置与使用

MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。

一句话,mycat就是一个数据库的中间件,这里我才用了如何进行分库分表以及读写分离,也能够从另一方面实现数据库的高可用。

1,安装mycat
环境centos7.5,安装好java环境jdk1.8以上
下载地址
mycat

http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190213150257-linux.tar.gz
jdk1.8
https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm

tar-xf 解压放置/opt目录下
进入目录新建logs目录
mycat简单配置与使用
进入conf进行配置
mycat简单配置与使用
rule.xml    分片规则配置
schema     mycat核心配置
server.xml 账号登入配置

首先配置schema文件,他是用于加载mycat的分库分表和读写分离的规则
假如我们有个需求,将一个luweitest表中以id为主键数字范围进行分片切分,分片规则为auto-sharding-long(0-500Wid为一张表,500W到1000W为一张表,默认规则可以修改),将order_form表平局分配写入,分片规则为sharding-by-murmur(哈希算法)。

配置schema.xml
mycat简单配置与使用
配置server.xml 文件,他是用来指定账号权限,类似mysql的root用户权限划分。
表示root用户可以访问iafc_itps_qrcode,ucity_unified,iafc_itps_qrcode_fragmentation,ucity_unified_fragmentation,这几个逻辑库。

mycat简单配置与使用
配置rule.xml文件,他是用来配置分片的规则以及算法,当然也可以自定义,比如分片规则sharding-by-murmur(哈希算法)

分片引用
mycat简单配置与使用
规则详细
mycat简单配置与使用
 

auto-sharding-long分片规则修改

分片引用

mycat简单配置与使用

读取文件内容

mycat简单配置与使用

默认规则就是这张啦,表示0-500W条数为一个数据表。。。实现id大小来分片。

mycat简单配置与使用

随后重启mycat

/opt/mycat/bin/mycat restart

查看日志或者端口有8066就表示成功

mycat简单配置与使用

打开数据库第三方软件,就会发现有这几个逻辑库,

mycat简单配置与使用

分片的两张表就出来了

mycat简单配置与使用

测试我就不做了,保证没有问题,当然出现几个坑给大家分享一下

建表报错,提示表已经存在等其他报错

他的建表顺序是

1,首先要在schema.xml中定义好你的逻辑表,如果不做规则可以用默认节点

当然你也可以放在一起

mycat简单配置与使用

2,Navicat Premiumd等第三方软件兼容性可能不好,最好是执行sql语句去建表,不要图形化去建立。

 

启动失败

一般启动失败都是由于你配置文件报错,查看logs/wrapper.log文件会有详细信息

其他问题可以在评论区询问,我会逐一回答