MYSQL如何查看进程和kill进程
⽬录
如何查看进程和kill进程
第⼀种
第⼆种
kill所有慢查询进程和锁表进程
1、kill所有慢查询进程
2、kill所有死锁进程
如何查看进程和kill进程
有时候我们在执⾏⼀条SQL语句时,或者更改表结构时,由于这张表的数据量巨⼤,往往会在执⾏操作后就会卡住…然后这张表就会被锁住..这时,我们可以杀掉这个进程.
这⾥有两种⽅法查看和杀掉进程
第⼀种
SHOW PROCESSLIST;
执⾏上述命令,可以看到下图:
然后到对应的ID:
KILL 41515;
就OK了.
第⼆种
需要借助⼯具,Navicat. ⼯具->服务器监控->MySQL
打开之后就可以看到下图:
然后还是到对应的ID :
KILL 42736;
kill所有慢查询进程和锁表进程
1、kill所有慢查询进程
#!/bin/bash
mysql -uroot -pMy_Password -e "show processlist" | grep -i "Query" > slow_query.log for query in `cat slow_query.log | awk '{print $1}'`
do
echo "kill $query;" > kill_slow_query.sql
done
登录mysql,执⾏:
mysql> source kill_slow_query.sql
或者:
#!/bin/bash
for query in `mysqladmin -uroot -pMy_Password processlist | grep -i 'Query' | awk '{print $2}'` do
mysqladmin kill ${query}
done
2、kill所有死锁进程
#!/bin/bash
mysql -uroot -pMy_Password -e "show processlist" | grep -i "Locked" > locked.log
for lock in `cat locked.log | awk '{print $1}'`
do
echo "kill $lock;" > kill_locked.sql
打开mysql服务命令done
登录mysql,执⾏:
mysql> source kill_locked.sql
或者:
#!/bin/bash
for lock in `mysqladmin -uroot -pMy_Password processlist | grep -i 'Locked' | awk '{print $2}'` do
mysqladmin kill ${lock}
done
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论