今天遇到个情况,一台php请求到后端数据库的查询线程全部堵住了,现在要清除这些线程,又不重启数据库,如果用手动kill 'id' 那得执行上千次,不实际,用了一下两条命令就可以解决问题
SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE Host like '10.0.0.46%' and Time >10 INTO OUTFILE '/tmp/a.txt';
source /tmp/a.txt
--------------------------------
将来源10.0.0.46和查询时间大于10秒的id归档到文件里,
cat /tmp/a.txt
KILL 49947505530;
KILL 49946442549;
KILL 49945416819;
KILL 49944470268;
...
最后导入批量执行
本文转自hb_fukua 51CTO博客,原文链接:http://blog.51cto.com/2804976/1180512,如需转载请自行联系原作者