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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章