MySQL Session--批量KILL会话

使用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')

 

posted @ 2019-04-04 09:38  TeyGao  阅读(1317)  评论(0编辑  收藏  举报