《Mysql必讀Mysql使用kill命令解決死鎖問題(殺死某條正在執行的sql語句)》要點:
本文介紹了Mysql必讀Mysql使用kill命令解決死鎖問題(殺死某條正在執行的sql語句),希望對您有用。如果有疑問,可以聯系我們。
MYSQL教程在使用mysql運行某些語句時,會因數據量太大而導致死鎖,沒有反映.這個時候,就需要kill掉某個正在消耗資源的query語句即可, KILL命令的語法格式如下:
MYSQL教程
KILL [CONNECTION | QUERY] thread_id
MYSQL教程每個與mysqld的連接都在一個獨立的線程里運行,您可以使用SHOW PROCESSLIST語句查看哪些線程正在運行,并使用KILL thread_id語句終止一個線程.
MYSQL教程KILL允許自選的CONNECTION或QUERY修改符:KILL CONNECTION與不含修改符的KILL一樣:它會終止與給定的thread_id有關的連接.KILL QUERY會終止連接當前正在執行的語句,但是會保持連接的原狀.
MYSQL教程如果您擁有PROCESS權限,則您可以查看所有線程.如果您擁有超級管理員權限,您可以終止所有線程和語句.否則,您只能查看和終止您自己的線程和語句.您也可以使用mysqladmin processlist和mysqladmin kill命令來檢查和終止線程.
MYSQL教程首先登錄MySQL,然后使用: show processlist; 查看當前mysql中各個線程狀態.
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 |
MYSQL教程以上顯示出當前正在執行的sql語句列表,找到消耗資源最大的那條語句對應的id.
MYSQL教程然后運行kill命令,命令格式如下:?
MYSQL教程
kill id;
- 示例:
kill 8358
MYSQL教程殺掉即可.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/5133.html