使用SELECT INTO OUTFILE+SOURCE批量KILL
## 查看kill_id文件是否存在 SYSTEM cat /tmp/kill_id.sql ## 如果文件存在,则先删除 system sudo rm -rf /tmp/kill_id.sql ## 将所有sleep的回话拼成KILL 脚本导入到文件 SELECT CONCAT('kill ',id,';') FROM `information_schema`.`PROCESSLIST` t WHERE t.`COMMAND` IN ('Sleep') AND t.`Time`>2 AND t.`User` IN('test') INTO OUTFILE '/tmp/kill_id.sql'; ## 使用source来执行文件 source /tmp/kill_id.sql ## 如果文件存在,则先删除 system sudo rm -rf /tmp/kill_id.sql SHOW FULL PROCESSLIST;
使用GROUP_CONCAT获取KILL脚本
##设置group_concat的最大长度 SET SESSION group_concat_max_len=102400; SELECT GROUP_CONCAT(CONCAT('kill ',id,';') separator '') FROM `information_schema`.`PROCESSLIST` t WHERE t.`Time`>10 AND t.`User` IN('wms_rw1') AND t.`COMMAND` IN ('Sleep')