1、下载 从如下地址下载mycat的安装包:
https://github.com/MyCATApache/Mycat-Server
eg:Mycat-server-1.6.7.6-release-20210303094759-win.tar.gz
csdn 下载地址:
2、解压 解压下载的安装包
3、安装 安装mycat前需要先安装jdk和mysql。mycat1.6版本建议使用的jdk是1.7以上版本,mysql建议使用5.6版本(我这里使用是MySQL8)。
安装完jdk和mysql后,进入mycat解压目录下的bin目录,如本文的路径如下:
D:\mycat\bin
在打开的cmd命令行窗口中,执行如下命令安装mycat(注意需要管理员账户登录,如果不是请使用管理员身份运行cmd打开命令行窗口,执行如下指令会提示报错): mycat.bat install
4、启动和停止 可以使用如下命令启动mycat服务 mycat.bat start
启动后可以通过如下命令查看mycat的运行状态: mycat.bat status
可以使用如下命令停止mycat服务 mycat.bat stop
eg:
D:\mycat\bin>mycat.bat install
wrapper | Mycat-server installed.
D:\mycat\bin>mycat.bat start
wrapper | Starting the Mycat-server service...
wrapper | Waiting to start...
wrapper | Mycat-server started.
D:\mycat\bin>mycat.bat status
wrapper | The Mycat-server Service is installed.
wrapper | Start Type: Automatic
wrapper | Interactive: No
wrapper | Running: Yes
D:\mycat\bin>mycat.bat stop
wrapper | Stopping the Mycat-server service...
wrapper | Mycat-server stopped.
D:\mycat\bin>mycat.bat start
wrapper | Starting the Mycat-server service...
wrapper | Mycat-server started.
D:\mycat\bin>mycat.bat stop
wrapper | Stopping the Mycat-server service...
wrapper | Mycat-server stopped.
D:\mycat\bin>mycat.bat start
wrapper | Starting the Mycat-server service...
wrapper | Mycat-server started.
5、mycat配置 5.1、schema.xml配置文件——修改mycat与mysql的链接信息 我们打开mycat安装目录,并进入conf目录,打开schema.xml配置文件,schema.xml配置文件是mycat中重要的配置文件之一,它涵盖了mycat的逻辑库、表、分片规则、分批按节点及数据源。这里我们对默认的schema.xml进行简单的修改配置(注意备份一个原始的配置文件),主要配置本机的mysql链接信息。找到dataHost节点,按照当前自己mysql的配置信息来修改配置。如下为我修改后的该部分配置:
writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"> password="123456">
重点参数说明:balance和 switchType。
balance指的负载均衡类型,目前的取值有4种: 1. balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。 2. balance="1",全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与 M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。 3. balance="2",所有读操作都随机的在writeHost、readhost上分发。 4. balance="3",所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力
switchType指的是切换的模式,目前的取值也有4种: 1. switchType='-1' 表示不自动切换 2. switchType='1' 默认值,表示自动切换 3. switchType='2' 基于MySQL主从同步的状态决定是否切换,心跳语句为 show slave status 4. switchType='3'基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为 show status like 'wsrep%'。
schema的配置要与安装的mysql有关: “2”是你本地mysql的分库名称, “3”是你本地mysql的账号密码, “1”是mycat和本地mysql表关联配置,table是表名,dataNode就是哪些分库里有test表。我三个分库都有test这张表,所以都配置了。rule是test这张表的执行规则,规则名字是:auto-sharding-long,规则设置在rule.xml里,我们可以去(D:\mycat\conf\rule.xml)看看
搜索标注:
在mycat–>conf通过规则文件名找到规则文件:
# range start-end ,data node index
# K=1000,M=10000.
0-5K=0
5K-10K=1
10K-15K=2
其中K代表数字1000,M代表数字10000,文本上显示的内容含义为:id数为0-500*10000的范围内,数据会分配到第0个分片上,id数为500*10000-1000*10000的范围内,数据会分配到第1个分片上,依次类推。
5.2、server.xml文件——配置mycat用户信息
注意:这里的TESTDB的登入用户信息mycat/123456
6、测试 启动成功后,使用navicat连接mycat,新建一个mysql连接,如下图:连接成功,其中8066端口是mycat的默认端口
测试数据:
insert into test(sid,name) VALUES(10, '测试一');
insert into test(sid,name) VALUES(100, '测试二');
insert into test(sid,name) VALUES(1000, '测试三');
insert into test(sid,name) VALUES(10000, '测试四');