码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-10-22 11:06:50      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:info   from   result   port   修复   HERE   部署   控制   比较   

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 status\G
可以用来查看死锁,事务执行状态,锁等待等信息

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

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

标签:info   from   result   port   修复   HERE   部署   控制   比较   

原文地址:https://blog.51cto.com/1348916/2444368

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!