如何停止正在執行的 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

更新於:2019-07-30

565 次瀏覽

啟動你的 事業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.