明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

Mysql中对于使用kill命令处理死锁问题详细说明

[摘要]这篇文章主要介绍了Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)的相关资料,需要的朋友可以参考下在使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映。这个时候,就需要kill掉某个正在消耗资源的query语句即可, KILL命令的语法格式如下:KILL [CO...
这篇文章主要介绍了Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)的相关资料,需要的朋友可以参考下

使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映。这个时候,就需要kill掉某个正在消耗资源的query语句即可, KILL命令的语法格式如下:


KILL [CONNECTION   QUERY] thread_id

每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程。

KILL允许自选的CONNECTION或QUERY修改符:KILL CONNECTION与不含修改符的KILL一样:它会终止与给定的thread_id有关的连接。KILL QUERY会终止连接当前正在执行的语句,但是会保持连接的原状。

如果您拥有PROCESS权限,则您可以查看所有线程。如果您拥有超级管理员权限,您可以终止所有线程和语句。否则,您只能查看和终止您自己的线程和语句。您也可以使用mysqladmin processlist和mysqladmin kill命令来检查和终止线程。

首先登录MySQL,然后使用: show processlist; 查看当前mysql中各个线程状态


mysql> show processlist; 
+------+------+----------------------+----------------+---------+-------+-----------+---------------------  
  Id    User   Host           db         Command   Time   State     Info 
+------+------+----------------------+----------------+---------+-------+-----------+---------------------  
  7028   root   ucap-devgroup:53396   platform      Sleep    19553          NULL  
  8352   root   ucap-devgroup:54794   platform      Sleep    4245          NULL 
  8353   root   ucap-devgroup:54795   platform      Sleep      3          NULL 
  8358   root   ucap-devgroup:62605   platform      query    4156   updating   update t_shop set  

以上显示出当前正在执行的sql语句列表,找到消耗资源最大的那条语句对应的id.

然后运行kill命令,命令格式如下:


kill id; 
- 示例: 
kill 8358

杀掉即可。

以上就是Mysql中关于使用kill命令解决死锁问题详解的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。