阻止proxysql写组(writer group)中有多个server

现状 大家都知道,proxysql根据mysql中的read_only属性来判断server是否允许写入,即: 1. 当read_only=0|OFF时,说明server允许写入,把它放到writer group中; 2. 当read_only=1|ON时,说明server是只读,确保它在re

MySQL中的MVCC协议

MVCC是一种并发控制协议,我们经常会听到协议两个字,比如Tcp协议,HTTP协议,raft协议等等。感觉协议高深莫测,只有那些高手怪才才能理解。其实我对协议的理解很简单,协议就是为完成某项作业而指定的一系列约定!比如古时候士兵放哨,遇见敌情通过点火放烟的方式来传递信息,这就是简单的协议。只不过互联

一条delete语句导致slave hang住一天

生产环境一条简单的delete语句,导致slave hang住,复制延迟不断增加! 这个问题很怪,整个系统CPU,内存,磁盘IO都没有超载,就是一个SQL线程运行,超级慢! 查看事务状态复制SQL线程一直处于fetching rows. 1 2 3 4 5 6 7 8 9 10 11 12 13

ProxySQL源码之SQL执行时间的计算

ProxySQL中使用了MariaDB的Client API.对后端mysql的请求都是异步的(KILL QUERY/CONNECTION 命令除外,因为这个操作ProxySQL是启动了一个线程来执行的,没有必要再使用异步了),也就是说一个SQL发送给后端mysql,ProxySQL的session

ProxySQL源码之query digest text的生成

我们知道ProxySQL对每条SQL的执行都有统计功能,其统计信息位于stats库表stats_mysql_query_digest中。针对每条SQL,ProxySQL会计算其digest, 以及digest_text,并在该表记录它的执行信息,如最大执行时间,最小执行执行时间,执行频次等。但这些功

ProxySQL 白名单与黑名单

ProxySQL支持白名单(white list)和黑名单(black list), 其支持方式还是通过路由规则来实现的。它强悍的路由功能似乎无所不能啊!但这种方式并不能阻止用户连接,只是阻止任何的查询! 黑名单 对黑名单的支持很简单,比如我们想禁止某个IP访问只需在mysql_query_rul

ProxySQL的链式路由

ProxySQL 支持链式路由规则,具体来说是,匹配完一条规则后,再接着匹配指定的其它规则。链式路由指定方式是通过mysql_query_rules表中的两个字段来实现的:flagOUT, flagIN,官方的解释很绕,看了几遍,模模糊糊不能明了,也许是语言方面的障碍吧: lagIN, flagO

ProxySQL源码分析之Admin historical statistics

自从ProxySQL1.4.4, 开始将历史metric信息存入新的数据库proxysql_stats.db. 这些信息主要包括connection_pool,connection,query_cache,system_cpu,system_memory这几部分。在上一篇文章:ProxySQL-Do

ProxySQL集群中节点配置快速同步

ProxySQL 集群中节点间配置如何快速同步,减少繁琐的切换节点敲击命令?一种方法是使用其自带的Cluster模块,该模块经过测试基本可用,即使不同步也不会带来大的问题,只需通过监控发现后,手工处理一下即可;另一种方法是直接传输proxysql.db数据库文件到另一个节点,然后执行load… to

ProxySQL常用命令总结

ProxySQL使用三层存储来管理配置,这使得配置修改生效非常灵活,上层应用毫无感知。配置管理的相关命令相信我们都很熟悉了。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 LOAD MYSQL USERS TO RUNTIME; SAVE MYSQL USERS TO DIS

Categories

Tags

Links

bohr