更新时间:2025-02-28 GMT+08:00
分享

查询元数据锁列表

功能介绍

查询元数据锁列表。 目前仅支持MySQL实例。

调试

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

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

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

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

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

instance_id

String

参数解释:

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

约束限制:

仅支持MySQL实例。

取值范围:

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

默认取值:

不涉及。

表2 Query参数

参数

是否必选

参数类型

描述

db_user_id

String

参数解释:

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

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

thread_id

String

参数解释:

会话ID。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

database

String

参数解释:

数据库名称。

约束限制:

仅支持MySQL实例的数据库。

取值范围:

不涉及。

默认取值:

不涉及。

table

String

参数解释:

数据库表名。

约束限制:

仅支持MySQL实例的数据库的表。

取值范围:

不涉及。

默认取值:

不涉及。

请求参数

无。

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

metadata_locks

Array of MetadataLock objects

参数解释:

元数据锁列表。

取值范围:

不涉及。

count

Integer

参数解释:

元数据锁数量。

取值范围:

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

表4 MetadataLock

参数

参数类型

描述

thread_id

String

参数解释:

会话ID。

取值范围:

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

lock_status

String

参数解释:

锁状态。

取值范围:

  • PENDING:等待锁
  • GRANTED:持有锁

lock_mode

String

参数解释:

加锁模式。

取值范围:

  • MDL_SHARED
  • MDL_EXCLUSIVE
  • MDL_SHARED_READ
  • MDL_SHARED_WRITE

lock_type

String

参数解释:

锁类型。

取值范围:

  • Table metadata lock:表元数据锁
  • Schema metadata lock:库元数据锁
  • Tablespace lock:表空间锁
  • Global read lock:全局读锁

lock_duration

String

参数解释:

锁范围。

取值范围:

  • MDL_STATEMENT:语句级别
  • MDL_TRANSACTION:事务级别
  • MDL_EXPLICIT:global级别

table_schema

String

参数解释:

锁所在的数据库,对于部分Global read lock级别的元数据锁,该值为空。

取值范围:

不涉及。

table_name

String

参数解释:

表名。

取值范围:

不涉及。

user

String

参数解释:

用户。

取值范围:

不涉及。

time

String

参数解释:

时间。

取值范围:

不涉及。

host

String

参数解释:

主机。

取值范围:

不涉及。

database

String

参数解释:

会话所在的数据库。

取值范围:

不涉及。

command

String

参数解释:

命令。

取值范围:

不涉及。

state

String

参数解释:

状态。

取值范围:

不涉及。

sql

String

参数解释:

SQL语句。

取值范围:

不涉及。

trx_exec_time

String

参数解释:

事务执行时间。

取值范围:

不涉及。

block_process

Array of Process objects

参数解释:

阻塞会话列表。

取值范围:

不涉及。

wait_process

Array of Process objects

参数解释:

等待会话列表。

取值范围:

不涉及。

表5 Process

参数

参数类型

描述

id

String

参数解释:

会话ID。

取值范围:

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

user

String

参数解释:

用户。

取值范围:

不涉及。

host

String

参数解释:

主机。

取值范围:

不涉及。

database

String

参数解释:

数据库。

取值范围:

不涉及。

command

String

参数解释:

命令。

取值范围:

不涉及。

time

String

参数解释:

会话持续时间。

取值范围:

不涉及。

state

String

参数解释:

状态。

取值范围:

不涉及。

sql

String

参数解释:

SQL语句。

取值范围:

不涉及。

trx_executed_time

String

参数解释:

事务持续时间。

取值范围:

不涉及。

请求示例

查询元数据锁列表。

GET https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/da304cd5bbb944de828759bc7be3d3fein01/metadata-locks?db_user_id=2c250598-1e3c-4d31-bc19-be1d866247e6&thread_id=12121&database=example&table=example

响应示例

状态码: 200

{
  "metadata_locks" : [ {
    "thread_id" : "4096619",
    "lock_status" : "GRANTED",
    "lock_mode" : "MDL_SHARED_READ",
    "lock_type" : "Table metadata lock",
    "lock_duration" : "MDL_TRANSACTION",
    "table_schema" : "test_zyr",
    "table_name" : "test2",
    "user" : "root",
    "time" : "40",
    "host" : "das server",
    "database" : "test_zyr",
    "command" : "Sleep",
    "state" : "",
    "sql" : null,
    "trx_exec_time" : "341",
    "block_process" : [ ],
    "wait_process" : [ ]
  } ],
  "count" : 1
}

状态码

状态码

描述

200

Success.

400

BadRequest.

500

InternalServerError.

错误码

请参见错误码

相关文档