码迷,mamicode.com
首页 > 数据库 > 详细

mysql kill process解决死锁

时间:2018-03-28 20:32:16      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:title   $1   main   print   txt   for   net   第一个   show   

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解决死锁

标签:title   $1   main   print   txt   for   net   第一个   show   

原文地址:https://www.cnblogs.com/honglingjin/p/8665467.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!