proxysql 系列 ~ 读写分离核心功能
一 相关表介绍
1 mysql_user 列表配置
1 username && password 账号密码
2 default_hostgroup 默认的组ID
2 mysql_servers DB列表配置
1 hostgroup_id
1 不同功能不同hostgroup_id
2 主库提供读设置2条件不同的hostgroup_id
2 status 集群健康情况
3 max_replication_lag 设置延迟判断,踢出下线
4 weight 通常这里设置主库的小一些,只有全部slave出问题才会导向主库
3 mysql_query_rules列表配置
1 active 是否启用 1是启用
2 destination_hostgroup 对应上面指定的读hostgroup_id
3 match_pattern 具体的匹配规则
1 ^SELECT ->只转发select
2 ^SELECT.*FOR UPDATE$ ->这里需要特殊定义,因为select for update是需要修改数据的,所以要定向到主库
每组集群定义各自的匹配规则,填写对应的写群组ID
4 apply 是否应用 1是应用
4 stats_mysql_query_digest
记载着路由的具体语句和相关信息
二 具体数据插入匹配举例
1 user配置 INSERT INTO mysql_users(username,password,default_hostgroup) VALUES ('test1','pwd4test',10);
2 server配置 INSERT INTO mysql_servers(hostgroup_id,hostname,port,weight,max_connections,max_replication_lag,comment) values(1000,'192.168.1.222',3306,1,1000,10,'write group');
3 rule配置 INSERT INTO mysql_query_rules(active,match_pattern,username,destination_hostgroup,apply) VALUES(1,'^SELECT$','test1',10,1);
三 创建相关账号
监控账号权限需要 SUPER, REPLICATION CLIENT
set mysql-monitor_username='proxysql';set mysql-monitor_password='proxysql';通过show slave status方式查看从库是否正常
程序账号权限需要 update,delete,insert,select,create
insert into mysql_users(username,password,active,default_hostgroup,transaction_persistent)values ('sbuser','sbuser',1,300,1); 就是之前的user配置
四 总结
1 user server rule 三张表的hostgroup必须一致
2 记得要把主也要添加到读列表中,权重调低
3 验证 select * from stats_mysql_query_digest; 可以查看是否分离成功
proxysql 系列 ~ 读写分离核心功能的更多相关文章
- 重要参考步骤---ProxySQL实现读写分离
MySQL配置主从同步文章地址:https://www.cnblogs.com/sanduzxcvbnm/p/16295369.html ProxySQL实现读写分离与读负载均衡参考文档:https: ...
- MHA+ProxySQL实现读写分离高可用
最近在研究ProxySQL,觉得还挺不错的,所以就简单的折腾了一下,ProxySQL目前也是Percona在推荐的一个读写分离的中间件.关于详细的介绍可以参考官方文档.https://github.c ...
- 如何利用MHA+ProxySQL实现读写分离和负载均衡
摘要:本文分享一下"MHA+中间件ProxySQL"如何来实现读写分离+负载均衡的相关知识. 本文分享自华为云社区<MySQL高可用架构MHA+ProxySQL实现读写分离和 ...
- MySQL使用ProxySQL实现读写分离
1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎.官方文档:https://github.com/sysown/proxysql/wiki/下载地址:ht ...
- MySQL架构之 主从+ProxySQL实现读写分离
准备服务器: docker run -d --privileged -v `pwd`/mysql_data:/data -p 3001:3306 --name mysql5-master --host ...
- ProxySQL(读写分离)部署
proxySQL是MySQL的中间件产品,是灵活强大的代理层,实现读写分离,支持Query路由功能,支持动态指定某个SQL进行缓存,支持动态加载配置,故障切换和一些SQL 过滤功能 环境: 192.1 ...
- 【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡
目录 一.MHA+ProxySQL架构 二.快速搭建MHA环境 2.1 下载MHA镜像 2.2 编辑yml文件,创建MHA相关容器 2.3 安装docker-compose软件(若已安装,可忽略) 2 ...
- Linux学习-基于CentOS7的ProxySQL实现读写分离
一.实验环境 主机:3台,一台ProxySQL(192.168.214.37),两台主从复制,master(192.168.214.17),slave(192.168.214.27) 系统:CentO ...
- cetus系列~ 读写分离具体分析
一 简介:上一章我们讲了cetus的基本安装,这章继续分析cetus 二 分析 1 基本配置 1 开启主从延迟检测需在后端数据库创建库proxy_heart_beat和表tb_heartb ...
随机推荐
- R语言绘图(FZ)
P-Value Central Lmit Theorem(CLT) mean(null>diff) hist(null) qqnorm(null) qqline(null) pops<-r ...
- Day5--Python--字典
字典1.什么是字典 dict. 以{}表示,每一项用逗号隔开,内部元素用key:value的形式来保存数据 {'jj':'林俊杰','jay':'周杰伦'} 查询效率非常高,通过key来查找元素 内部 ...
- eclipse+pyDev
感觉python脚本语言在linux下挺有用的,想入门学习一下 新手入门个人习惯找个好点的IDE帮助完成工作,试了好多,如pycharm,sublime text自己打造 后来发现全扯淡,一点不符合自 ...
- jQuery获取节点和子节点文本的方法
本节主要介绍了jQuery如何获取节点和子节点文本,下面有个示例,大家可以参考下 对于下面的html片段, ? 1 <div id="text_test">test t ...
- asp.net 获得伪静态网址解决微信sdk签名问题
手机网站是asp.net c#编写的,前几天因为要使用微信SDK在手机网站页面使用分享功能,但是程序使用了伪静态功能.如果原地址是:http://ww.xx.com/news/show.aspx?id ...
- iptables防火墙设置
ubuntu系统: apt-get install iptables #如果默认没有安装,请运行此命令安装防火墙 # whereis iptables #查看系统是否安装防火墙可以看到:iptable ...
- 微信小程序中出现:脚本错误或者未正确调用 Page()
错误: 解决方法: //在页面当中的.js文件里面加上 Page({ })即可
- Event Recommendation Engine Challenge分步解析第六步
一.请知晓 本文是基于: Event Recommendation Engine Challenge分步解析第一步 Event Recommendation Engine Challenge分步解析第 ...
- HTML5 accesskey的用法
<button onclick="start()" accesskey="s">开始</button> <button oncli ...
- ant design环境搭建过程中遇到的问题--Windows-dva-cli
基础的此处略去,nodejs和npm是前提. 1.官网介绍的是脚手架工具是antd-init,但是又建议真实项目中用dva-cli,所以博主就直接装的是dva-cli,这里主要是简单介绍下博主在Win ...