Dav*_*d B 241 mysql kill processlist
我mysql
从我的Linux shell 连接到.我不时地运行一个SELECT
太大的查询.它打印和打印,我已经知道这不是我的意思.我想停止查询.
击中Ctrl+C
(几次)mysql
完全杀死并带我回到外壳,所以我必须重新连接.
是否可以在不自杀的情况下停止查询mysql
?
bak*_*048 437
mysql>show processlist;
mysql> kill "number from first col";
Run Code Online (Sandbox Code Playgroud)
min*_*s23 40
连接到mysql
mysql -uusername -p -hhostname
Run Code Online (Sandbox Code Playgroud)
显示完整的流程清单:
mysql> show full processlist;
+---------+--------+-------------------+---------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+---------+--------+-------------------+---------+---------+------+-------+------------------+
| 9255451 | logreg | dmin001.ops:37651 | logdata | Query | 0 | NULL | show processlist |
+---------+--------+-------------------+---------+---------+------+-------+------------------+
Run Code Online (Sandbox Code Playgroud)
杀死特定查询.这里id = 9255451
mysql> kill 9255451;
Run Code Online (Sandbox Code Playgroud)
如果您获得权限被拒绝,请尝试以下SQL:
CALL mysql.rds_kill(9255451)
Run Code Online (Sandbox Code Playgroud)
min*_*s23 12
用于mysqladmin
终止失控查询:
运行以下命令:
mysqladmin -uusername -ppassword pr
Run Code Online (Sandbox Code Playgroud)
然后记下进程ID.
mysqladmin -uusername -ppassword kill pid
Run Code Online (Sandbox Code Playgroud)
失控查询应该不再消耗资源.
如果您mysqladmin
有空,您可以获得以下查询列表:
> mysqladmin -uUSERNAME -pPASSWORD pr
+-----+------+-----------------+--------+---------+------+--------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+-----------------+--------+---------+------+--------------+------------------+
| 137 | beet | localhost:53535 | people | Query | 292 | Sending data | DELETE FROM |
| 145 | root | localhost:55745 | | Query | 0 | | show processlist |
+-----+------+-----------------+--------+---------+------+--------------+------------------+
Run Code Online (Sandbox Code Playgroud)
然后你可以停止托管长时间运行查询的mysql进程:
> mysqladmin -uUSERNAME -pPASSWORD kill 137
Run Code Online (Sandbox Code Playgroud)
您需要运行以下命令来终止该进程。
> show processlist;
> kill query processId;
Run Code Online (Sandbox Code Playgroud)
查询参数指定我们需要杀死查询命令的过程。
kill过程的语法如下
杀死[连接| QUERY] processlist_id
请参考此链接以获取更多信息。