如何停止正在运行的 MySQL 查询?
为了停止正在运行的 MySQL 查询,我们可以使用带有进程 ID 的 KILL 命令。语法如下:
kill processId;
或者,你可以使用以下语法来停止正在运行的 MySQL 查询:
call mysql.rds_kill(queryId);
让我们先使用 show 命令获取进程 ID。查询如下:
mysql> show processlist;
这是带有进程列表的输出:
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+ | 4 | event_scheduler | localhost | NULL | Daemon | 221718 | Waiting on empty queue | NULL | | 47 | root | localhost:60722 | business | Query | 0 | starting | show processlist | +----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+ 2 rows in set (0.03 sec)
此处,MySQL 中运行着两个进程,如果你想停止其中一个,那么你可以使用此语法,在 “KILL” 中使用特定的 ID
查询如下:
mysql> kill 47; ERROR 1317 (70100): Query execution was interrupted
或者,你可以使用 mysql.rds_kill(id) 来执行此操作。查询如下:
mysql> CALL mysql.rds_kill(47); ERROR 2013 (HY000): Lost connection to MySQL server during query
广告