推特 阿里云技术文档正文

KILL_DAL_SQL 手册_分布式关系型数据库 DRDS

admin 阿里云技术文档 2020-02-11 201 0
阿里云服务器优惠

KILL

KILL 指令用于终止一个正在执行的 SQL。

DRDS 使用 DRDS 在 MySQL/RDS 上创建的用户名连接 MySQL/RDS,所以一般直接连接 MySQL/RDS 是没有权限对 DRDS 发起的请求进行 KILL 操作的。

如果需要终止一个 DRDS 上正在执行的 SQL,需要使用 MySQL 命令行、DMS 等工具连接 DRDS,在 DRDS 上执行 KILL 指令。

语法:

  1. KILL PROCESS_ID | 'PHYSICAL_PROCESS_ID' | 'ALL'

有三种用法:

  1. 终止一个特定的逻辑 SQL: KILL PROCESS_ID PROCESS_ID 为 SHOW [FULL] PROCESSLIST 指令返回的 ID 列。 DRDS 中,KILL PROCESS_ID 指令会将此连接正在执行的逻辑 SQL 与物理 SQL 均终止掉,并断开此连接。 DRDS 不支持 KILL QUERY 指令。
  2. 终止一个特定的物理 SQL: KILL 'PHYSICAL_PROCESS_ID' 其中的 PHYSICAL_PROCESS_ID 来自SHOW PHYSICAL_PROCESS_ID指令返回的 ID 列。

    注意:由于 PHYSICAL_PROCESS_ID 列为一个字符串,并非一个数字,因此 KILL 指令中,PHYSICAL_PROCESS_ID 需要使用单引号括起来。

    示例:

    1. mysql> KILL '0-0-521570';
    2. Query OK, 0 rows affected (0.01 sec)
  3. 终止当前库上所有通过 DRDS 执行的物理 SQL: KILL 'ALL' 当底层 MySQL/RDS 因为一些 SQL 导致压力非常大的时候,可以使用 KILL 'ALL' 指令终止当前 DRDS 库上所有正在执行的物理 SQL。

    符合以下条件的物理 PROCESS 会被KILL 'ALL'指令终止:

    • 该 PROCESS 的 User 是 DRDS 在 MySQL/RDS 上所创建的用户名;
    • 该 PROCESS 正在执行查询,也即 COMMAND 为 Query。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

-----