show processlist kill锁表语句与慢sql
一、单个kill
mysql> show processlist;
mysql > kill 20;
二 shell脚本删除
目录 /var/www/mysh
sh文件 mysql_sleep_kill.sh,内容如下:
#!/bin/bash
mysql -u root -p -e "show processlist;" | grep -i 'Waiting' >>/var/www/mysh/locked_log.txt
for line in `cat /var/www/mysh/locked_log.txt | awk '{print $1}'`
do
echo "kill $line;" >> /var/www/mysh/kill_thread_id.sql
done
运行./mysql_sleep_kill.sh 后,生成三个文件。
kill_thread_id.sql 文件中存储kill 信息
最后,运行
mysql>source /var/www/mysh/kill_thread_id.sql
发现 锁表进程 20 那一行已经不见了,成功!