mysql用mycat搞定mysql读写分离

 我的笔记   2018-02-19 11:35   695 人阅读  0 条评论

1. mycat实现mysql数据库的读写分离

1.1. mycat简介

mycat是最近很火的一款国人发明的分布式数据库中间件,它是基于阿里的cobar的基础上进行开发的mycat在应用当中的作用可以看下图

mysql之20分钟用mycat搞定mysql读写分离

mycat可以让程序员只需要关心业务代码的编写,而不用担心后端数据库集群的负载均衡,读写分离,分库分表的数据分片逻辑的编写,只要直接连接mycat就可以了

1.2. 安装mycat

首先我们准备一台干净的centos机器,安装好jdk

mysql之20分钟用mycat搞定mysql读写分离

解压mycat的安装包到/usr/local/下

mysql之20分钟用mycat搞定mysql读写分离

设置mycat的环境变量

1. vi /etc/profile

export MYCAT_HOME=/usr/local/mycatexport PATH=$MYCAT_HOME/bin:$PATH

使配置文件立即生效

1. source /etc/profile

mysql之20分钟用mycat搞定mysql读写分离

1.3. 配置mycat

进入mycat的配置文件目录

cd /usr/local/mycat/conf/
vi schema.xml

mysql之20分钟用mycat搞定mysql读写分离

这个配置文件项目比较多,可以参考mycat官网具体查看。

<!-- 定义MyCat的逻辑库 -->

<!-- 使用MyCat托管MySQL主从切换 -->

<!-- 定义数据主机dtHost2集群,连接到MySQL读写分离集群,并配置了读写分离和主从切换 -->

接下来配置用户权限,系统变量

vi server.xml

mysql之20分钟用mycat搞定mysql读写分离

用户qy73user,对应的MyCat逻辑库连接到的数据节点对应的主机为主从复制集群,并通过MyCat实现了读写分离

1.4. 启动mycat

运行启动命令

mycat start

第一次启动会遇见下面的问题。

问题一:

mysql之20分钟用mycat搞定mysql读写分离

解决方法:

这个是由于/etc/hosts中没有配置主机名server005 和ip 192.168.153.164的映射

mysql之20分钟用mycat搞定mysql读写分离

问题二:mysql之20分钟用mycat搞定mysql读写分离

解决方法:

此问题是mycat配置文件server.xml中的默认配置没有删除导致。

mysql之20分钟用mycat搞定mysql读写分离

再次运行启动命令:mycat start

mysql之20分钟用mycat搞定mysql读写分离

1.5. 测试mycat

1) 可以使用mysql客户端连接或者navicat for mysql来连接mycat

mysql之20分钟用mycat搞定mysql读写分离

2) 在mysql数据库主机上的qy73库中创建表tbl_role

mysql之20分钟用mycat搞定mysql读写分离

3) 可以使用已经在navicat中创建的mycat连接查看是否存在tbl_role表

mysql之20分钟用mycat搞定mysql读写分离

1.6. 测试mysql数据库读写分离

1) 进入mycat的日志目录注意修改log4j的配置文件info为debug

mysql之20分钟用mycat搞定mysql读写分离

2) 进入到logs目录,开始实时监控mycat.log

cd /usr/local/mycat/logs/

mysql之20分钟用mycat搞定mysql读写分离

3) 先测试一下读操作

我们连接到mycat发送一句select * from tbl_user命令试试

mysql之20分钟用mycat搞定mysql读写分离

可以看到select 操作被路由到了192.168.153.161也就是我们的slave节点

那么我们执行多次看看

mysql之20分钟用mycat搞定mysql读写分离

结果还是被路由到了读节点

4) 接下来我们测试一下写操作

mysql之20分钟用mycat搞定mysql读写分离

可见插入被路由到了master节点

mysql之20分钟用mycat搞定mysql读写分离

最后我们看看master的数据是否被同步到slave

记录成功的同步过来了,可见读写分离搭建成功。

版权付亚东笔记博客所有,禁止转载!!付亚东Java笔记博客

我的笔记博客版权我的笔记博客版权
本文地址:https://wdnote.com/post/12.html
版权声明:本文为原创文章,版权归 我的笔记 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?