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

 

现在kill_thread_id.sql的内容像这个样子

kill 66402982;
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

;

 

以上是关于mysql kill process解决死锁的主要内容,如果未能解决你的问题,请参考以下文章

mysql 死锁解决办法

sql死锁的原因及解决方法

Mysql生产死锁临时解决

Out of memory: Kill process 解决

MySQL死锁

mysql操作中卡死 解决方法