mysql使用kill命令解决死锁问题,杀死某条正在执行的sql语句
2017-12-11 09:49
911 查看
http://blog.csdn.net/buster2014/article/details/51035768
在使用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中各个线程状态。
[sql] view
plain copy
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命令,命令格式如下:
[sql] view
plain copy
kill id;
- 示例:
kill 8358
杀掉即可。
在使用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中各个线程状态。
[sql] view
plain copy
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命令,命令格式如下:
[sql] view
plain copy
kill id;
- 示例:
kill 8358
杀掉即可。
相关文章推荐
- mysql使用kill命令解决死锁问题,杀死某条正在执行的sql语句
- mysql使用kill命令解决死锁问题,杀死某条正在执行或没有响应的sql语句,
- mysql使用kill命令解决死锁问题,杀死某条正在执行的sql语句
- Mysql使用kill命令解决死锁问题(杀死某条正在执行的sql语句)
- 使用 Navicat for MySQL 执行 SQL 语句时,出现 out of memory 问题的解决方法
- mysql kill process解决死锁问题,停用某条正在执行的语句
- Mysql 将结果保存到文件 从文件中执行sql语句 记录操作过程(tee 命令的使用)
- 查看mysql正在执行的SQL语句,使用profile分析SQL执行状态
- MySql使用show processlist查看正在执行的Sql语句
- MySQL死锁问题实例分析及解决方法(主要是SQL语句可能会产生的问题)
- ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句
- MySql使用show processlist查看正在执行的Sql语句
- "执行SQL语句时出现问题操作必须使用一个可更新的查询"错误的解决方法
- ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句
- php使用mysql-timeout包,解决sql语句查询超时问题
- 使用Hibernate 5.0、4.0、3.0 createSQLQuery执行原生Sql语句 遇到问题及解决办法集锦
- MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)
- 使用Jmeter对Mysql进行压力测试无法执行多条sql语句问题
- ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)