更新时间:2025-05-19 GMT+08:00
分享

查询InnoDB锁等待列表

功能介绍

查询InnoDB锁等待列表。 目前仅支持MySQL实例。

调试

您可以在API Explorer中调试该接口。

URI

GET /v3/{project_id}/instances/{instance_id}/innodb-locks

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

租户在某一Region下的项目ID。

获取方法请参见获取项目ID

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

instance_id

String

参数解释:

实例ID。标识实例的唯一标识。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

表2 Query参数

参数

是否必选

参数类型

描述

db_user_id

String

参数解释:

数据库用户ID。用户使用数据库账号与数据库建立的连接ID(数据库用户ID由注册数据库用户接口创建)。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字、中划线组成,且长度为36个字符的UUID。

默认取值:

不涉及。

请求参数

无。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

innodb_trx

Array of InnodbTrx objects

参数解释:

当前持有或等待锁的事务信息。

取值范围:

不涉及。

innodb_lock_waits

Array of InnodbLockWaits objects

参数解释:

每个事务请求的锁以及阻塞该请求的锁的对应关系。

取值范围:

不涉及。

count

Integer

参数解释:

当前持有或等待锁的事务数量。

取值范围:

[0, 2^31-1],实际取决于查询。

表4 InnodbTrx

参数

参数类型

描述

trx_id

String

参数解释:

事务ID。

取值范围:

不涉及。

trx_state

String

参数解释:

事务状态。

取值范围:

不涉及。

trx_started

String

参数解释:

事务开始时间。

取值范围:

不涉及。

trx_wait_started

String

参数解释:

事务ID。

取值范围:

不涉及。

trx_mysql_thread_id

String

参数解释:

会话ID,同ListProcesses接口返回的id。

取值范围:

不涉及。

trx_query

String

参数解释:

事务运行的SQL语句。

取值范围:

不涉及。

trx_tables_locked

String

参数解释:

加行锁的表数量。

取值范围:

不涉及。

trx_rows_locked

String

参数解释:

锁定的行数量(近似值)。

取值范围:

不涉及。

trx_rows_modified

String

参数解释:

事务插入或者修改的行数。

取值范围:

不涉及。

trx_isolation_level

String

参数解释:

隔离级别。

取值范围:

不涉及。

innodb_wait_locks

Array of InnodbLock objects

参数解释:

等待锁信息。

取值范围:

不涉及。

innodb_hold_locks

Array of InnodbLock objects

参数解释:

持有锁信息。

取值范围:

不涉及。

表5 InnodbLock

参数

参数类型

描述

lock_id

String

参数解释:

锁ID。

取值范围:

不涉及。

lock_trx_id

String

参数解释:

事务ID。

取值范围:

不涉及。

lock_mode

String

参数解释:

锁模式。

取值范围:

  • S[,GAP]
  • X[,GAP]
  • IS[,GAP]
  • IX[,GAP]
  • AUTO_INC
  • UNKNOWN

lock_type

String

参数解释:

锁类型。

取值范围:

  • RECORD:行锁。
  • TABLE:表锁。

lock_table

String

参数解释:

加锁的表。

取值范围:

不涉及。

lock_index

String

参数解释:

如果是lock_type='RECORD' 行级锁 ,为锁住的索引,如果是表锁为null。

取值范围:

不涉及。

lock_space

String

参数解释:

如果是lock_type='RECORD' 行级锁 ,为锁住的索引,如果是表锁为null。

取值范围:

不涉及。

lock_page

String

参数解释:

如果是lock_type='RECORD' 行级锁 ,为锁住的页号,如果是表锁为null。

取值范围:

不涉及。

lock_rec

String

参数解释:

如果是lock_type='RECORD' 行级锁,为锁住的堆号,如果是表锁为null。

取值范围:

不涉及。

lock_data

String

参数解释:

事务锁住的主键值,若是表锁,则该值为null。

取值范围:

不涉及。

表6 InnodbLockWaits

参数

参数类型

描述

requesting_trx_id

String

参数解释:

申请锁资源的事务ID。

取值范围:

不涉及。

requested_lock_id

String

参数解释:

申请的锁的ID。

取值范围:

不涉及。

blocking_trx_id

String

参数解释:

阻塞的事务ID。

取值范围:

不涉及。

blocking_lock_id

String

参数解释:

阻塞的锁的ID。

取值范围:

不涉及。

请求示例

查询InnoDB锁等待列表。

GET https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/da304cd5bbb944de828759bc7be3d3fein01/innodb-locks?db_user_id=2c250598-1e3c-4d31-bc19-be1d866247e6

响应示例

状态码: 200

{
  "innodb_trx" : [ {
    "trx_id" : "1080883393",
    "trx_state" : "LOCK WAIT",
    "trx_started" : "2021-01-14 18:49:26",
    "trx_wait_started" : "2021-01-14 18:49:26",
    "trx_mysql_thread_id" : "115602",
    "trx_query" : "DELETE FROM adfasdf WHERE  id =1",
    "trx_tables_locked" : "1",
    "trx_rows_locked" : "1",
    "trx_rows_modified" : "0",
    "trx_isolation_level" : "REPEATABLE READ",
    "innodb_wait_locks" : [ {
      "lock_id" : "1080883393:27750:3:2",
      "lock_trx_id" : "1080883393",
      "lock_mode" : "X",
      "lock_type" : "RECORD",
      "lock_table" : "`abc`.`adfasdf`",
      "lock_index" : "GEN_CLUST_INDEX",
      "lock_space" : "27750",
      "lock_page" : "3",
      "lock_rec" : "2",
      "lock_data" : "0x0000005528EC"
    } ],
    "innodb_hold_locks" : [ ]
  }, {
    "trx_id" : "1080882971",
    "trx_state" : "LOCK WAIT",
    "trx_started" : "2021-01-14 18:49:25",
    "trx_wait_started" : "2021-01-14 18:49:25",
    "trx_mysql_thread_id" : "115598",
    "trx_query" : "DELETE FROM adfasdf WHERE  id =1",
    "trx_tables_locked" : "1",
    "trx_rows_locked" : "1",
    "trx_rows_modified" : "0",
    "trx_isolation_level" : "REPEATABLE READ",
    "innodb_wait_locks" : [ ],
    "innodb_hold_locks" : [ {
      "lock_id" : "1080882971:27750:3:2",
      "lock_trx_id" : "1080882971",
      "lock_mode" : "X",
      "lock_type" : "RECORD",
      "lock_table" : "`abc`.`adfasdf`",
      "lock_index" : "GEN_CLUST_INDEX",
      "lock_space" : "27750",
      "lock_page" : "3",
      "lock_rec" : "2",
      "lock_data" : "0x0000005528EC"
    } ]
  } ],
  "innodb_lock_waits" : [ {
    "requesting_trx_id" : "1080883393",
    "requested_lock_id" : "1080883393:27750:3:2",
    "blocking_trx_id" : "1080882971",
    "blocking_lock_id" : "1080882971:27750:3:2"
  } ],
  "count" : 2
}

状态码

状态码

描述

200

Success.

400

BadRequest.

500

InternalServerError.

错误码

请参见错误码

相关文档