MySQL操作1-kill正在執行的sql語句

在使用mysql運行某些語句時,特別是在客戶端統計數據時,由於數據量大或者統計的sql不會命中索引導致死鎖或者網絡超時客戶端斷開連接。此時需要去服務器上kill掉超時的sql語句防止影響mysql性能。

1. 登錄mysql的服務端

相關命令:mysql -u用戶名 -p -h地址 -P端口
輸入密碼

2. 查看mysql中各個線程的狀況

相關命令:show processlist;

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 |

每個與mysqld的連接都在一個獨立的線程裏運行,您可以使用SHOW PROCESSLIST語句查看哪些線程正在運行,並使用KILL thread_id語句終止一個線程。

3. 殺死對應線程

相關命令:kill id

kill 8358
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章