第四,总结分析。 高效的沟通会事半功倍; 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慢查询,对大家的。










