云数据库 RDS-MDL锁视图:MDL锁视图详解

时间:2023-12-13 11:32:57

MDL锁视图详解

MDL锁视图以系统表的形式呈现,该表位于“information_schema”下,表名称是“metadata_lock_info”。表结构如下所示。

desc information_schema.metadata_lock_info;
+---------------+-----------------------+---------+------+----------+--------|
| Field         | Type                  | Null    |Key   |Default   |  Extra |
+---------------+-----------------------+---------+------+----------+--------|
| THREAD_ID     | bigint(20) unsigned   | NO      |      |   0      |        |
| LOCK_STATUS   | varchar(24)           | NO      |      |          |        |
| LOCK_MODE     | varchar(24)           | YES     |      |  NULL    |        |
| LOCK_TYPE     | varchar(30)           | YES     |      |  NULL    |        |
| LOCK_DURATION | varchar(30)           | YES     |      |  NULL    |        |
| TABLE_SCHEMA  | varchar(64)           | YES     |      |  NULL    |        |
| TABLE_NAME    | varchar(64)           | YES     |      |  NULL    |        |
+---------------+-----------------------+---------+------+----------+--------|
表1 metadata_lock_info字段

序号

字段名

字段定义

字段说明

0

THREAD_ID

bigint(20) unsigned

会话ID。

1

LOCK_STATUS

varchar(24)

MDL锁的两种状态。

  • PENDING:表示会话正在等待该MDL锁。
  • GRANTED:表示会话已获得该MDL锁。

2

LOCK_MODE

varchar(24)

加锁的模式,如MDL_SHARED 、MDL_EXCLUSIVE 、MDL_SHARED_READ、MDL_SHARED_WRITE等。

3

LOCK_TYPE

varchar(30)

MDL锁的类型,如Table metadata lock、Schema metadata lock、Global read lock、Tablespace lock等。

4

LOCK_DURATION

varchar(30)

MDL锁范围,取值如下:

  • MDL_STATEMENT:表示语句级别。
  • MDL_TRANSACTION:表示事务级别。
  • MDL_EXPLICIT:表示GLOBAL级别。

5

TABLE_SCHEMA

varchar(64)

数据库名,对于部分GLOBAL级别的MDL锁,该值为空。

6

TABLE_NAME

varchar(64)

表名,对于部分GLOBAL级别的MDL锁,该值为空。

support.huaweicloud.com/kerneldesc/rds_05_0000.html