目录
前提
准备Mycat
修改mycat配置文件
启动mycat
连接MyCat
测试基于Mycat中间件的主从操作
回顾自定义读写分离策略
回顾基于中间件的读写分离策略
前提
我们已经对mysql实现了基本的读写分离,一主一从。
https://blog.csdn.net/Delicious_Life/article/details/106154307
准备Mycat
我们把下载好的Mycat包拖到/haoke/mycat目录下,这里使用的mycat版本是1.6.6.1
cd到压缩包所在目录,执行解压
tar -xvf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
解压成功后删除解压包
rm -rf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
重命名
mv mycat mycat01
修改mycat配置文件
cd mycat01/conf
先修改server.xml,这个文件进行mycat系统配置,和用户设置。
vim server.xml
我们先删除里面所有内容
编辑系统配置和用户配置,用户名itcast,密码itcast123,用户所使用的逻辑库叫做itcast
0
1
0
0
2
false
0
0
1
64k
1k
0
384m
false
itcast123
itcast
再修改schema.xml,这个文件用来配置主从关系
vim schema.xml
同样是先删除再新增,根据实际情况修改,注意schema的name是你在server.xml中配置的用户名
table的name是mycat中间件管理的具有同步功能的表名,dataNode中的database是分片数据库的名称。
select user()
mycat负载均衡的规则
上面的配置我们设置负载均衡的规则为3
接下来我们修改rule.xml文件,设置分片规则,也就是取模分片的规则
vim rule.xml
在这个位置,把值改为1
启动mycat
进入bin目录
/haoke/mycat/mycat01/bin
测试mycat是否配置成功
./mycat console
下图代表mycat配置成功
启动mycat,还是在bin目录下
./startup_nowrap.sh
下图代表启动成功
------------------------------------------------
扩展下如何停止mycat,输入命令查看mycat启动端口
通过kill进程号杀死即可~
kill 进程号
------------------------------------------------
连接MyCat
mycat的默认端口号是8066,用户名和密码是刚才咱们在配置文件中配置的itcast和itcast123 。
个人尝试,只有在mycat使用此命令启动时“./mycat console”,navicat才能连接成功,如果navicat连接成功后操作mycat报错,可以尝试重新启动mycat解决问题
连接成功后长这个德行,注意itcast库和tb_ad表是根据你的xml文件中配置规则自动生成的,但是此时tb_ad是个逻辑空表,暂时不能用,如果你没有生成itcast数据库,可以在3360master01中新建一个itcast数据库,重启mycat进行测试
测试基于Mycat中间件的主从复制
在mycat的数据库中进行如下操作
创建表
CREATE TABLE `tb_ad` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`type` int(10) DEFAULT NULL COMMENT '广告类型',
`title` varchar(100) DEFAULT NULL COMMENT '描述',
`url` varchar(200) DEFAULT NULL COMMENT '图片URL地址',
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='广告表';
新增数据
INSERT INTO `tb_ad` (`id`, `type`, `title`, `url`, `created`, `updated`) VALUES ('1','1', 'UniCity万科天空之城', 'http://itcast-haoke.oss-cn-qingdao.aliyuncs.com/images/2018/11/26/15432029097062227.jpg','2018-11-26 11:28:49','2018-11-26 11:28:51');
这回再连接你的master01和slave01,都同时多出来了一个itcast数据库,一张和mycat中tb_ad内容一致的表
回顾自定义读写分离策略
我们的读写分离基于主从复制,主负责写,从负责读
我们之前在schema.xml中配置的,所有读请求都走3307,所有写请求走3306
回顾基于中间件的读写分离策略