proxysql的花式路由规则

时间:2021-06-30 17:39:59   收藏:0   阅读:0

ProxySQL可以实现多种方式的路由:基于ip/port、username、schema、SQL语句。其中基于SQL语句的路由是按照规则进行匹配的,匹配方式有hash高效匹配、正则匹配,还支持更复杂的链式规则匹配。

角色主机IPserver_id数据状态
Proxysql 10.2.83.140 null
Master 10.2.83.140 140 刚安装的全新MySQL实例,mysql 8.0.19
Slave1 10.2.83.141 141 刚安装的全新MySQL实例,mysql 8.0.19

1.基于port的路由

虽然基于端口实现读写分离配置起来非常简单,但是缺点也很明显:必须在前端app的代码中指定端口号码。这意味着MySQL的一部分流量权限被开发人员掌控了,换句话说,DBA无法全局控制MySQL的流量。此外,修改端口号时,app的代码也必须做出相应的修改。

首先修改ProxySQL监听SQL流量的端口号,让其监听在不同端口上。

admin> set mysql-interfaces=‘0.0.0.0:6033;0.0.0.0:6034‘;

admin> save mysql variables to disk;

然后重启ProxySQL。

service proxysql stop
service proxysql start

[root@node2 ~]# netstat -luntp|grep proxy
tcp 0 0 0.0.0.0:6032 0.0.0.0:* LISTEN 11543/proxysql
tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN 11543/proxysql
tcp 0 0 0.0.0.0:6034 0.0.0.0:* LISTEN 11543/proxysql

 

监听到不同端口,再去修改mysql_query_rules

insert into mysql_query_rules(rule_id,active,proxy_port,destination_hostgroup,apply) values(1,1,6033,10,1), (2,1,6034,20,1);

load mysql query rules to runtime;

save mysql query rules to disk;

1.1 mysql_query_rules表的介绍

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!