MySQL运维实战之ProxySQL(9.8)SQL镜像

俊达2年前技术文章672

使用proxysql的镜像(mirror)功能,可以将SQL发送到一个额外的后端实例执行。

还可以将发送到镜像的SQL进行改写,以测试修改后的SQL是否能正常执行。

通过mirror_flagOut字段,可以将多条规则串联起来,实现这样的需求:不修改原始的SQL,只修改镜像后的SQL,这样可以在不影响当前业务的情况下,测试SQL改写的效果。



delete from mysql_query_rules;

-- 执行SQL,同时将SQL mirror一份
insert into mysql_query_rules
(rule_id, username, match_pattern, destination_hostgroup, 
 mirror_flagOut, active, apply, comment )
values (20, 'user1', '^SELECT', 100, 
  1001, 1, 1, 'mirror');

-- 对于mirror的SQL,增加注释,发送到hostgroup 101执行
insert into mysql_query_rules
(rule_id, username, flagIn, match_pattern, destination_hostgroup, 
 replace_pattern, active, apply, comment )
values (21, 'user1', 1001, '^SELECT', 101, 
  'select /*+ mirrored */', 1, 1, 'mirror sql modified');


load mysql query rules to runtime;


相关文章

helm简介

helm简介

一、Helm 是什么在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理...

oracle手工管理的不完全恢复

一)使用当前控制文件做不完全恢复示例1: 恢复过去某个时间点误删除的table(基于时间点的不完全恢复)前提:在这个状态下先在OS下做一个数据文件和控制文件的冷备。SQL> shutdown i...

ORA-00031报错处理

1、在数据库里面kill语句时会发生如下的报错:SQL> alter system kill session '4390,2679';alter system kill session '439...

MongoDB的碎片化问题

一、碎片化问题1.1 为什么会出现碎片化的问题在生产业务中,一般会对集合数据进行频繁的增删改,常见的碎片化原因有:1、记录被remove,但是其空间没有被复用drop命令会直接删除集合的物理文件,空间...

静默安装oracle11g单实例

环境: CentOS 7.8 11.2.0.4.0 orclp:172.16.104.31一、准备1、依赖包检查pdksh 在 redhat 上叫 ksh检查是否有安装root# rpm -q bin...

Presto临时设置session超时时间

Presto临时设置session超时时间

全局默认超时时间为200s:测试语句:select    "t7"."__fcol_16" "__fcol_22",    date_trunc('month', "t7"."__fcol_21"...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。