zhengah

杀掉lock进程最快的方法是重启mysql,像你这种情况,1000多sql锁住了,最好是重启
如果不允许重启,我提供一个shell脚本,生成 kill id命令杀掉lock线程,如下:
------------------------------------
#!/bin/bash
mysql -u root -e "show processlist"|grep -i "Locked" >> locked.txt;
for line in awk \'{print $1}\' locked.txt
do
echo "kill $line;">>kill_lock.sql
done
----------------------------------

执行完脚本后,会生成kill_lock.sql文件,内容类似如下:

kill 1;
kill 2;
kill 3;
-------------------这些对应的都是lock的sessionid,直接复制文件里的内容,然后在mysql里执行就ok 了

至于排查哪条sql引起的,这个有点难了,不过你可以尝试开启慢查日志和无索引日志来确认比较耗时的查询,避免再次出现堵塞

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2022-01-27
  • 2022-12-23
  • 2021-06-28
猜你喜欢
  • 2021-05-22
  • 2021-04-29
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2021-12-21
相关资源
相似解决方案