如果发现Mysql有大量慢sql正在执行cpu高需要添加索引加不上, kill mysql 后马上又被业务系统执行起来.

在这个时候停掉业务系统是不太现实的.所以禁用对应的账号是最好的办法.

可以执行:

ALTER USER '用户名'@'%' ACCOUNT LOCK;

把执行慢sql的用户锁住

然后kill 所有当前的正在执行的慢sql

通过 show processlist; 查看state状态

image.png

若发现 有 lock 状态的,则差用以下命令杀死进程
kill id

id为截图中的id,实际为进程id

杀掉所有影响Mysql性能的SQL, 可以进行你的变跟.

做你的变跟,变跟完成后,

ALTER USER '用户'@'%' ACCOUNT UNLOCK;

解锁用户