MySQL数据库强制kill 正在执行的sql语句
2018-02-27 本文已影响96人
watson168
背景描述:发现有用户一直在做查询导致数据库CPU过高,结果办法是找到sql语句对对应的ID号,然后强制kill掉。
注意:一定要用执行sql语句的用户进行执行,否则会将其他用户的sql语句kill掉!!!

第一步
如上图所示,发现有pr_rw 用户有做大量的查询语句,从图中可以看到command命令为‘Query’,state为‘Sending data’,因此先找到所有符合条件的sql 语句。
select concat('KILL ',id,';') from information_schema.processlist where user='pr_rw' and command='Query' and state='Sending data';
第二步
将找到的sql语句全部kill掉,如:
KILL 1
KILL 2
KILL 3
KILL 4
KILL 5