博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用MyCat实现MySQL读写分离
阅读量:6934 次
发布时间:2019-06-27

本文共 1748 字,大约阅读时间需要 5 分钟。

说明

配置MyCat读写分类前需要先配置MySQL的主从复制,参考我上一篇的文章,已经做了比较详细地讲解了。

环境

centos7、MySQL5.7、mycat1.6

配置MyCat账号密码和数据库名(server.xml)

MyCat作为数据库的中间件,对于上层应用来说,他就是一个数据库。因此需要配置数据库的用户名,密码,数据库名,以及读写权限。

下面是MyCat的默认配置(部分):

server.xml

user节点配置用户信息,详细说明如下:

user 用户配置节点

--name 登录的用户名,也就是连接Mycat的用户名

--password 登录的密码,也就是连接Mycat的密码

--schemas 数据库名,这里会和schema.xml中的配置关联,多个用逗号分开,例如需要这个用户需要管理两个数据库db1,db2,则配置db1,dbs

我这里修改如下(只需要改动user节点信息即可):

123456
db_test
复制代码

在 schema.xml 文件中配置读写分离

select user()
复制代码

这里有几个配置需要说明下:

sqlMaxLimit配置默认查询数量database为真实数据库名balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的writeHost 上。balance="1",全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1 ->S1 , M2->S2,并且 M1 与 M2 互为主备),正常情况下, M2,S1,S2 都参与 select 语句的负载均衡。balance="2",所有读操作都随机的在 writeHost、 readhost 上分发。balance="3", 所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有, 1.3 没有。writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties .writeType="1",所有写操作都随机的发送到配置的 writeHost。writeType="2",没实现。-1 表示不自动切换1 默认值,自动切换2 基于MySQL 主从同步的状态决定是否切换复制代码

启动mycat

在mycat所在的服务器启动

./mycat startmysql -uroot -p123456 -P8066 -h127.0.0.1#stop./mycat stop复制代码

连上之后跟普通的MySQL一模一样

使用Navicat连接mycat

在外网 (相对虚拟机而言)访问mycat,需要配置ip白名单。

配置文件在server.xml中

l
复制代码

这里192.168.74.1为我本机相对虚拟机的ip地址,这里要说明下,如果配置了ip白名单,则127.0.0.1也是要加上才能本地访问的,不然会被拒绝掉。

示例

这里的common是我本地在host文件里设置了映射到mycat所在虚拟机的ip。

这里可以通过在mycat中插入数据检测是否主从复制配置成功,通过修改从数据库的数据来验证是否读写进行分离。

结果

可以看到,mycat读取的是从库的数据 。这说明了,mycat读写分离功能已经实现了。

转载于:https://juejin.im/post/5d08f538f265da1bcf5ddeb3

你可能感兴趣的文章
Generator函数的语法以及异步的应用
查看>>
使用 qrcodejs 生成二维码的几个问题
查看>>
ES6-Promise对象
查看>>
记录一次面试题
查看>>
Flutter Exception降到万分之几的秘密
查看>>
Fiddler抓取数据并分析(完整的配置教程)
查看>>
Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
查看>>
【思维导图-索引篇】搞定数据库索引就是这么简单
查看>>
Kotlin如何避免“!!”(非空断言)
查看>>
我理解的 iOS 与 Android 的区别
查看>>
vue(2)
查看>>
Ts + React + Mobx 实现移动端浏览器控制台
查看>>
聊聊 scala 的模式匹配
查看>>
阿里推出 PolarFS 分布式文件系统:将存储与计算分开(附论文)
查看>>
【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [6] 朴素贝叶斯实践
查看>>
vue 优化CDN加速
查看>>
Linux常用命令
查看>>
PHP 实现Office word 关键词添加背景色
查看>>
搞懂 Javascript 继承原理
查看>>
CentOS(linux) 下JDK的安装
查看>>