美文网首页
2018-01-19

2018-01-19

作者: 天地征途_觉醒 | 来源:发表于2019-01-09 01:03 被阅读0次

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

    HelloTeacher陈

    8小时前

    1. mycat实现mysql的读写分离

    1.1. mycat简介

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

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

    1.2. 安装mycat

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

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

    设置mycat的环境变量

    1. vi /etc/profile

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

    使配置文件立即生效

    1. source /etc/profile

    1.3. 配置mycat

    进入mycat的配置文件目录

    1. cd /usr/local/mycat/conf/

    1. vi schema.xml

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

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

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

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

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

    vi server.xml

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

    1.4. 启动mycat

    运行启动命令

    mycat start

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

    问题一:

    解决方法:

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

    问题二:

    解决方法:

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

    再次运行启动命令:mycat start

    1.5. 测试mycat

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

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

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

    1.6. 测试mysql读写分离

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

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

    cd /usr/local/mycat/logs/

    3) 先测试一下读操作

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

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

    那么我们执行多次看看

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

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

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

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

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

    感兴趣的朋友可以点击头像关注我,每天都有更新,大家一起进步!

    相关文章

      网友评论

          本文标题:2018-01-19

          本文链接:https://www.haomeiwen.com/subject/kbwgoxtx.html