一次MySQL慢查询导致的故障

2019-01-05 09:45:50于丽

第四,总结分析。

高效的沟通会事半功倍; DBA 需要定期给出 Top N SQL(类 Oracle 的说法),提供给开发,并协助优化; 查看监控时,不管是服务器监控还是 MySQL 监控,需要做对比,比如和昨天甚至前天的同一时间对比,这会更加快速地定位问题。

四、 技巧
最后,附上一个快速kill 掉 MySQL 会话的方法:

首先使用如下语句分析出有问题的 SQL:

/usr/local/mysql/bin/mysql -uroot -p'XXX' -e "SHOW FULL PROCESSLIST;" | more

然后将 SHOW FULL PROCESSLIST 的结果保存到一个文件:

/usr/local/mysql/bin/mysql -uroot -p'XXX'
-e "SHOW FULL PROCESSLIST;" |
grep "XXX" | awk '{print $1}' > mysql_slow.txt

最后使用如下简单的 Shell 脚本 kill 掉相关会话:

SELECT concat('kill ',id,';') FROM information_schema.processlist WHERE info like 'XXX';

当然也可以使用如下 SQL 拼接 kill 语句:

SELECT concat('kill ',id,';') FROM information_schema.processlist WHERE info like 'XXX';

本文对MySQL慢查询导致故障的起因,处理方法,所需的技巧进行了全面分析,希望可以让大家更好的了解MySQL慢查询,对大家的。

您可能感兴趣的文章:

mysql报错:Deadlock found when trying to get lock; try restarting transaction的解决方法线上MYSQL同步报错故障处理方法总结(必看篇)MYSQL主从库不同步故障一例解决方法MySQL下高可用故障转移方案MHA的超级部署教程MySQL复制的概述、安装、故障、技巧、工具(火丁分享)检测MySQL的表的故障的方法MySQL DeadLock故障排查全过程记录