如何停止正在运行的 MySQL 查询?

来自:互联网
时间:2023-10-07
阅读:

如何停止正在运行的 <a href=https://www.freexyz.cn/tag/MySQL.html target=_blank class=infotextkey>MySQL</a> 查询?

为了停止正在运行的 MySQL 查询,我们可以使用带有进程 ID 的 KILL 命令。语法如下 -

kill processId;

或者您可以借助以下语法停止正在运行的 MySQL 查询 -

call mysql.rds_kill(queryId);

让我们首先借助 show 命令获取 processId。查询如下 -

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 中正在运行两个进程,如果你想停止其中一个进程,那么你可以使用上面的语法和特定的 id 使用“KILL”

查询如下 -

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

以上就是如何停止正在运行的 MySQL 查询?的详细内容。

返回顶部
顶部