MySQL - KILL 语句
使用 MySQL KILL 语句可以终止指定的线程。
语法
以下是 MySQL KILL 语句的语法 -
KILL [CONNECTION | QUERY] processlist_id
其中,processlist_id 是我们需要终止的进程的 ID -
示例
假设我们使用 CREATE 语句创建了一个名为 sample 的用户,如下所示 -
CREATE USER sample;
如果使用 SHOW 语句验证当前进程列表,您会发现有三个进程正在运行。 MySQL 命令提示符根用户(如果您正在运行)、MySQL 示例用户(从命令提示符连接)和 event_scheduler。
SHOW PROCESSLIST;
输出
上述查询产生以下输出 -
Id | User | Host | db | Command | Time | State |
---|---|---|---|---|---|---|
5 | event_ scheduler | localhost | NULL | Daemon | 2065 | Waiting for next activation |
9 | root | localhost: 49996 | test | Query | 0 | init |
11 | sample | localhost: 58238 | NULL | Sleep | 55 |
以下查询将终止 ID 为 11 的进程 -
KILL 11;
终止进程示例后,如果您验证进程列表,您会发现只剩下两个进程 -
SHOW PROCESSLIST;
输出
查询执行后,将显示以下输出 -
Id | User | Host | db | Command | Time | State |
---|---|---|---|---|---|---|
5 | event_ scheduler | localhost | NULL | Daemon | 2217 | Waiting for next activation |
9 | root | localhost: 49996 | test | Query | 0 | init |
您可以使用CONNECTION 子句终止连接 -
SHOW PROCESSLIST;
输出
上述查询产生以下输出 -
Id | User | Host | db | Command | Time | State |
---|---|---|---|---|---|---|
5 | event_ scheduler | localhost | NULL | Daemon | 2421 | Waiting for next activation |
9 | root | localhost: 49996 | test | Query | 0 | init |
15 | sample | localhost: 58275 | NULL | Sleep | 89 |
KILL CONNECTION 14;
您可以使用QUERY 子句通过此语句终止查询 -
SHOW PROCESSLIST;
输出
以下是上述查询的输出 -
Id | User | Host | db | Command | Time | State |
---|---|---|---|---|---|---|
5 | event_ scheduler | localhost | NULL | Daemon | 2720 | Waiting for next activation |
9 | root | localhost: 49996 | test | Query | 0 | init |
15 | sample | localhost: 58330 | NULL | Sleep | 9 |