如何停止运行 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 中出现“正在尝试重新连接...”。并且还显示当前数据库为“无”。一段时间后,恢复与数据库的连接。
以上是 如何停止运行 MySQL 查询? 的全部内容, 来源链接: utcz.com/z/343868.html