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; 可以查看是否分离成功

转载于:https://www.cnblogs.com/danhuangpai/p/10470416.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值