Mycat中间件
- 人工智能
- 2025-09-06 08:42:02

一、概述 Mycat是开源的,活跃的、基于java语言编写的MySQL数据库中间件。可以像使用MySQL一样使用mycat,对于开发人员来说根本感觉不到mycat的存在;
二、安装 Mycat是采用java语言开发的开源数据库中间件,支持windows和linux运行环境,下面介绍Mycat和Linux中的环境搭建。需要安装MySQL,JDK,MYCAT 1.安装jdk (1)上传到linux服务器,并解压 tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local (2)配置环境变量 使用vim命令修改/etc/profile文件,在文件末尾加入如下配置 JAVA_HOME=/usr/local/jdk1.8.0_171 PATH=$JAVA_HOME/bin:$PATH (3)重新加载profile文件 为了使更改的配置立即生效,需要重新加载profile文件,执行命令: source /etc/profile
2.安装mycat (1)上传mycat安装包 (2) 解压MyCat的压缩包 tar -zxvf Mycat-server-1.6.7.3-release-20210913163959-linux.tar.gz -C /usr/local/
(3)删掉mysql5版本的驱动包 进入/usr/local/mycat/lib rm -rf mysql-connector-java-5.1.35.jar
(4)更改权限 chmod 777 mysql-connector-java-8.0.22.jar
3.目录结构
三、入门 1.分片配置schema.xml文件 <mycat:schema xmlns:mycat="http://io.mycat/"> #逻辑结构 <schema name="DB01" checkSQLschema="true" sqlMaxLimit="100"> <table name="TB_ORDER" dataNode="dn1,dn2,dn3" rule="auto-sharding-long"/> </schema> <dataNode name="dn1" dataHost="dhost1" database="db01"/> <dataNode name="dn2" dataHost="dhost2" database="db01"/> <dataNode name="dn3" dataHost="dhost3" database="db01"/> #连接信息 <dataHost name="dhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="master" url="jdbc:mysql://192.168.194.130:3306?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8" user="root" password="123456"/> </dataHost> <dataHost name="dhost2" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="master" url="jdbc:mysql://192.168.194.150:3306?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8" user="root" password="123456"/> </dataHost> <dataHost name="dhost3" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="master" url="jdbc:mysql://192.168.194.151:3306?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8" user="root" password="123456"/> </dataHost> </mycat:schema>
2.配置server.xml文件
<!-- 表级 DML 权限设置 --> <!-- <privileges check="true"> <schema name="DB01" dml="0110" > <table name="TB_ORDER" dml="1110"></table> </schema> </privileges> --> </user>
<user name="user"> <property name="password">123456</property> <property name="schemas">DB01</property> <property name="readOnly">true</property> </user>
3.启动mycat 切换到mycat的安装目录,执行如下指令,启动mycat 启动:bin/mycat start 停止:bin/mycat stop 启动之后,占用端口号8066
4.分片测试 访问mycat就相当于访问MySQL 登陆:mysql -h 192.168.194.130 -P8066 -uroot -p123456