标签:sys set lin 影响 延迟 switch tree insert delete
一 简介:今天我们来探讨下具体的细节问题
二 表介绍
1 mysql_server
hostgroup_id group_id,一般情况下,写入为一组,读取为一组
status
ONLINE:当前后端实例状态正常
SHUNNED:临时被剔除,可能因为后端 too many connections error,或者超过了可容忍延迟阀值 max_replication_lag
OFFLINE_SOFT:"软离线"状态,不再接受新的连接,但已建立的连接会等待活跃事务完成。
OFFLINE_HARD:"硬离线"状态,不再接受新的连接,已建立的连接或被强制中断。当后端实例宕机或网络不可达,会出现。
max_connections:允许连接到该后端实例的最大连接数。不要大于MySQL设置的 max_connections,如果后端实例 hostname:port 在多个 hostgroup 里,以较大者为准,而不是各自独立允许的最大连接数。
max_replication_lag:允许的最大延迟,主库不受这个影响,默认0。如果 > 0, monitor 模块监控主从延迟大于阀值时,会临时把它变为 SHUNNED
max_latency_ms:mysql_ping 响应时间,大于这个阀值会把它从连接池剔除(即使是ONLINE),默认0。
comment:备注。
(hostgroup_id,hostname,port) 为一组主键 所以这三项为必填项
insert into mysql_servers(hostgroup_id,hostname,port,weight,max_connections,max_replication_lag,comment) values(1000,‘IP‘,3306,99,1000,10,‘slave backup‘);
三 平台审计功能
一 proxysql 设置
set mysql-eventslog_filename = ‘/data/ProxySQL/log/sql.log‘
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;
mysql_query_rules表中设置路由规则
insert into mysql_query_rules(rule_id,active,match_digest,log,apply) values(1,1,‘^delete‘,1,1);
insert into mysql_query_rules(rule_id,active,match_digest,log,apply) values(1,1,‘^update‘,1,1);
insert into mysql_query_rules(rule_id,active,match_digest,log,apply) values(1,1,‘^insert‘,1,1);
load mysql query rules to RUNTIME;
save mysql query rules to DISK;
二 安装解析工具
1 地址 https://github.com/sysown/proxysql/tree/v1.4.2/tools 下载 eventslog_reader_sample.cpp 和 Makefile文件、
2 修改 cpp文件 将
switch (et) {
case PROXYSQL_QUERY:
read_query(f);
break;
default:
break;
}
替换成 read_query(f);
3 make
4 eventslog_reader_sample 直接解析即可
三 总结
1 proxysql 之所以用二进制进行记载 我觉得是为了压缩文件大小,proxysql这个功能完美解决了历史追溯审计,
2 建议不要匹配select,可能会导致文件超大
标签:sys set lin 影响 延迟 switch tree insert delete
原文地址:https://www.cnblogs.com/danhuangpai/p/9688075.html