MySQL 如何停止运行中的MySQL查询?
在停止MySQL的运行查询之前,首先需要使用show命令查看有多少个进程正在运行。
该查询的语法如下 −
mysql> show processlist;
执行上述查询后,我们将获得一些ID的输出。如下所示 −
+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 71034 | Waiting on empty queue |
NULL |
| 8 | Manish | localhost:53496 | business | Query | 0 | starting |show processlist|
+----+-----------------+-----------------+----------+---------+-------+------------------------+------------------+
2 rows in set (0.00 sec)
如上所示,当前正在使用的数据库是“business”,其ID为8。要停止查询,可以使用给定进程列表中的ID和命令调用。其语法如下 −
call mysql.rds_kill(valueOfGivenIdInProcesslist);
现在,将上述语法应用于查询并将valueOfGivenIdInProcesslist放置为8。如下所示 −
mysql> CALL mysql.rds_kill(8);
执行上述查询后,将获得以下输出 −
ERROR 2013 (HY000): Lost connection to MySQL server during query
这是因为上述查询停止运行了。使用use命令检查它是否已停止。其语法如下 −
use yourDatabaseName;
将上述语法应用于系统中的mydatabase名称“business”。查询如下所示 −
mysql> use business;
执行上述查询后,将获得以下输出 −
No connection. Trying to reconnect...
Connection id: 10
Current database: *** NONE ***
Database changed
mysql>
因此,很明显查询已停止,因为MySQL正在显示“尝试重新连接…”的消息。它还显示当前数据库为“none”。一段时间后,与数据库的连接恢复。
阅读更多:MySQL 教程
极客教程