在 MySQL 中杀死一个进程

在本教程中,我们将学习如何在 MySQL 中终止进程。

很多时候,特定的 MySQL 进程可能需要很长时间才能执行。

它可能会导致系统出现性能问题。随着时间的推移,不同的线程和语句在系统中变得杂乱无章,从而妨碍了服务器的整体功能。

为了解决这个问题并避免高资源使用,我们可以杀死不再需要运行的特定进程。

要杀死 MySQL 中的进程,我们必须在登录到你的 MySQL 帐户后执行两个简单的步骤:

  • 列出在 MySQL 中运行的所有进程。
  • 使用 KILL 命令终止进程。

列出 MySQL 中运行的所有进程

在我们打算删除或终止任何正在进行的进程之前,我们首先需要识别进程 id。一旦我们有了进程 id,我们就可以杀死或终止一个进程。

我们可以使用 show processlist 命令获取 MySQL 中所有现有进程的列表。执行此命令后,我们将立即获取登录用户的正在进行的进程。

正在进行的过程的快照如下。

在 MySQL 中杀死一个进程

正如我们所看到的,每个进程都有一个进程 id,表示用户名的 User,表示主机服务器的 Host,表示数据库的 db

Command 表示正在考虑的命令的类型,Time 表示查询运行的时间,State 表示进程的状态,Info 表示与进程相关的任何相关信息。

使用 KILL 命令终止进程

一旦我们得到要被杀死的进程的 id,我们就可以使用 kill <id> 命令来终止进程。

让我们的目标是杀死具有 id 编号 14 的进程。可以使用以下查询来完成此任务。

KILL14;

这将使 id 进程为 14,被杀死。

此外,如果我们希望终止与特定用户关联的所有进程,我们可以使用以下查询执行此操作。

SELECTCONCAT('KILL ',id,';')FROMinformation_schema.processlistWHEREuser='preet'INTOOUTFILE'/tmp/processes_text.txt';

在上面的查询中,带有线程和语句的新文件的文件名为 processes_text。我们可以查看此文件以检查我们是否要终止所有提到的进程。

一旦确定,我们就可以使用以下查询。

source/tmp/processes_text.txt

因此,在 KILL 命令的帮助下,可以终止 MySQL 数据库中的一个或多个进程。