使用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`>
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=; SELECT GROUP_CONCAT(CONCAT('kill ',id,';') separator '')
FROM `information_schema`.`PROCESSLIST` t
WHERE t.`Time`>
AND t.`User` IN('wms_rw1')
AND t.`COMMAND` IN ('Sleep')
05-11 16:58
查看更多