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

俊达9个月前技术文章213

使用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;


相关文章

xtrabackup全量备份恢复操作

xtrabackup全量备份恢复操作

一、核实环境1、核实服务器环境cat /etc/centos-release2、核实数据库版本随着Percona XtraBackup 8.0 的推出,Percona XtraBackup 2.4将继...

Redis 运维规范_命令使用规范

Redis 运维规范_命令使用规范

二、命令使用规范1、keys * keys * 命令原理是扫描整个 Redis 里面所有 key,该命令执行期间其他发送向 Redis 服务端的命令,都会被阻塞。scan 命令是一个基于游标的迭代器,...

磁盘分区与挂载

磁盘分区与挂载

背景当我们新建一个服务器时,需要对磁盘进行分区、格式化、挂载等操作。那么我们应该如何进行呢?一、LVM技术1、安装所需的lvm工具yum install -y lvm22、创建物理卷PVpvcreat...

xargs-管道命令符

有时候我们的脚本却需要 echo '516' | kill 这样的效果,例如 ps -ef | grep 'ddd' | kill 这样的效果,筛选出符合某条件的进程pid然后结束。这种需求对于我们来...

trino组件对接alluxio(三)

trino组件对接alluxio(三)

本文是基于已经部署了trino和alluxio的基础上,进行的trino与alluxio的组件对接,alluxio已经开启了高可用模式。安装部署1、增加alluxio配置在core-site.xml和...

kubernetes实战详解

kubernetes实战详解

一、k8s是什么?1、Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统2、生产级别的容器编排系统3、PaaS平台二、容器是什么?或者说docker是什么?1、容器就是一个沙箱C...

发表评论    

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