mysql kill process解决死锁
Posted 红领巾下的大刀疤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql kill process解决死锁相关的知识,希望对你有一定的参考价值。
1、查看进程列表, 找到ID
SHOW PROCESSLIST
2、 查询语句把表锁住了, 赶紧找出第一个Locked的thread_id, 在MySQL的shell里面执行.
kill id
#!/bin/bash
mysql -u root -e "show processlist" | grep -i "Locked" >> locked_log.txt
for line in `cat locked_log.txt | awk \'{print $1}\'`
do
echo "kill $line;" >> kill_thread_id.sql
done
mysql -u root -e "show processlist" | grep -i "Locked" >> locked_log.txt
for line in `cat locked_log.txt | awk \'{print $1}\'`
do
echo "kill $line;" >> kill_thread_id.sql
done
现在kill_thread_id.sql的内容像这个样子
kill 66402982;
kill 66402983;
kill 66402986;
kill 66402991;
.....
kill 66402983;
kill 66402986;
kill 66402991;
.....
好了, 我们在mysql的shell中执行, 就可以把所有锁表的进程杀死了.
mysql>source kill_thread_id.sql
当然了, 也可以一行搞定
当然了, 也可以一行搞定
for id in `mysqladmin processlist | grep -i locked | awk \'{print $1}\'`
do
mysqladmin kill ${id}
done
do
mysqladmin kill ${id}
done
;
以上是关于mysql kill process解决死锁的主要内容,如果未能解决你的问题,请参考以下文章