整理数据库日常问题处理方法_杜振强实践内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整理数据库日常问题处理方法_杜振强实践内容相关的知识,希望对你有一定的参考价值。

select from information_schema.processlist where INFO is not null and INFO not like ‘select from information_schema.processlist%‘ order by time,db G

用来查看一些执行时间比较长的sql,根据执行时间递增排序

show engine innodb statusG
可以用来查看死锁,事务执行状态,锁等待等信息

userstat相关监控命令:
flush USER_STATISTICS;
flush TABLE_STATISTICS;
set global long_query_time=0;
flush logs;
show processlist;

select from information_schema.USER_STATISTICS where user not in(‘admin‘,,‘monitor‘,‘#mysql_system#‘)G
select
from information_schema.TABLE_STATISTICS where table_name not in (‘mysql‘,‘db‘)G

数据库延迟处理:
1.数据库延迟情况可能如下:a.主库执行一个大的修改数据的SQL导致;b.主库并发写入量突增;c.从库上的查询或者其它操作导致磁盘io或者cpu瓶颈或者锁;d.从库硬件问题导致性能很低
2.处理:
a.让研发知晓情况,并建议将大的操作拆成小的操作,避免再次出现
b.如果经常出现,因主从不可以扩展写,那就找RD沟通确认,业务上不能控制写入的话,就准备拆库操作
c.通知RD相关情况,如果是必须的sql,可以讲这些sql放到专门的统计库上执行,调高报警阈值解决,否则让研发拆分或者下线sql。如果是锁例如是MDL,这需要kill掉相应的查询后释放锁来解决。
d.如果还有从库,可以考虑停机修复该从库,如果没有,需要紧急重新部署一台新从库后进行修理

杀掉匹配某个sql的连接
pt-kill --match-command Query --busy-time 5 --host dbxx --port 5002 --interval --print --kill --victims all --match-info="select distinct(Issue_label)"

杀掉正在进行filesort的sql
pt-kill --match-command Query --match-state "Sorting result" --busy-time 5 --host *.*.. --port 5002 --interval 2 --print --kill --victims all -uduzq -p

以上是关于整理数据库日常问题处理方法_杜振强实践内容的主要内容,如果未能解决你的问题,请参考以下文章

跨域处理实践

机器视觉行业实践技巧 -- OpenCV技巧与方法:代码脚手架 -- 图像处理

接口测试理论知识整理和实践

Fluentd报错整理-以及部分报错处理方法

mysql碎片处理_mysql碎片整理

几种延时处理方法