- ⽀持前端作为MySQL通⽤代理
- 后端JDBC⽅式⽀持Oracle,DB2,SQL Server,mongodb,巨杉
- 基于⼼跳的⾃动故障切换,⽀持读写分离
- ⽀持MySQL Cluster,Galera,Percona,cluster集群
- ⽀持数据的多⽚⾃动路由与聚合
- ⽀持sum,count,max等常⽤的聚合函数,⽀持跨库分⻚
- ⽀持库内分表,⽀持单库内部任意join全局表,⽀持跨库2表join
- 基于caltlet的多表join
- ⽀持通过全局表,ER关系的分⽚策略,实现了⾼效的多表join查询
2.在Linux中搭建Mycat
version: '3.1'
services:
mysql-0: #mysql的名称
image: mysql #镜像站
container_name: mysql-0 #容器
environment:
MYSQL_ROOT_PASSWORD: 123456 #root密码
command: #追加在mysql启动命令
--default-authentication-plugin=mysql_native_password #远程连接不需要密码
--character-set-server=utf8mb4 #字符编码
--collation-server=utf8mb4_general_ci #字符编码
--explicit_defaults_for_timestamp=true #默认事件
--lower_case_table_names=1 #取消表名大小写敏感
ports:#端口号
- 3306:3306
volumes:#数据卷保存位置
- ./data:/var/lib/mysql
然后执行docker-compose up -d 拉取镜像
再docker-compose logs -f 查看日志是否有报
3. 解压mycat
0.我自己的文件路径: 4.mycat
1.拖到linux里解压 tar -zxf 文件名,解压后会出现一个mycat文件目录
2. cd mycat/ 文件目录讲解:
mycat:
bin:可执行文件目录
logs:日志 可执行文件(mycat1 他出现错误是不会报错的 所以我们都是在日志中寻找错误 也是一个常用的文件)
conf:mycat的配置文件目录 (mycat中最复杂的地方也就是配置)
bin:
mycat:启动重启mycat
其他的不知道 哎嘿~
pwd ,mycat 的路径要记清楚 然后之后方便执行
conf:
conf 中有很多的配置文件 我们一般要用到的是其中3个 rule.xml schema.xml server.xml
rule.xml 分片规则配置 在分片配置中 大部分已经存在
schema.xml 主要修改的配置文件
server.xml 连接到mycat相关的配置 比如账号 密码
下图是schema.xml去掉注解的样子,附带讲解
流程: 逻辑表 》dataNode数据节点 》database物理表 》 dataHost
4.启动Mycat
./bin/mycat 查看可执行文件
./bin/mycat/console 前台执行mycat 可以观察报错
5.开启mysql
默认端口号:8066
注意:在MySQL中开启mycat的表 首先要创建 在配置中已经连接的物理表 物理表不存在的时候 我们是连接不到的
解决办法;先连接到Linux的数据库创建物理表 让配置文件跑的通 ,因为我们的配置文件是相关联的 一个错就会都错