
# 管理锁\&事务
#### 操作场景
通过智能DBA功能查看数据库实例是否有元数据锁和InnoDB锁等待，以及查看最近死锁分析和全量死锁分析的数据。
更多内容，请参见[使用DAS进行锁分析](https://support.huaweicloud.com/bestpractice-das/das_best_practice_01_0013.html)。
#### 功能介绍
**元数据锁**
- 元数据锁（Metadata Lock，简称MDL），其作用是用于解决DDL操作与DML操作的一致性。通常DDL操作需要获取MDL写锁，并且MDL锁一旦发生，可能会影响数据库的性能，因为后续对该表的任何Select、DML、DDL操作都会被阻塞，造成连接积压。
- 当前功能展示了当前时刻（实时）数据库的MDL锁的信息，可以快速帮助定位MDL问题、终止持有MDL锁的会话，从而恢复被阻塞的操作。
- DML锁不在当前功能的范围之内，可以使用InnoDB锁等待进行分析和查看。
- 最多显示1000条数据。
**InnoDB锁等待**
- 当前功能展示了当前时刻（实时）数据库的DML操作之前的锁等待的信息，可以快速帮助定位多个会话因同时更新同一条数据，而产生的会话等待和阻塞，并且支持快速终止持有锁的源头会话，从而恢复被阻塞的操作。
- DDL锁不在当前功能的范围之内，可以使用元数据锁进行分析和查看。
- RDS for MySQL 8.0需要开启性能模式才能查看锁信息，执行**SHOW GLOBAL VARIABLES LIKE "performance_schema"** 或者在[修改RDS for MySQL实例参数](https://support.huaweicloud.com/usermanual-rds-mysql/rds_configuration.html)查看是否开启。
**最近死锁分析**
- 此功能基于**SHOW ENGINE INNODB STATUS**返回的最近一次死锁日志进行分析。如果发生过多次死锁，只会对最近一次死锁进行分析。
- 需要开启innodb_deadlock_detect（仅针对版本为5.7的实例）参数。
**全量死锁分析**
- 此功能定时对错误日志进行分析，解析其中的死锁信息，并进行全面的死锁分析。
- 依赖参数：
  - 需要开启innodb_deadlock_detect（仅针对版本为5.7的实例）参数。
  
  - 需要开启innodb_print_all_deadlocks参数，并将log_error_verbosity（仅针对版本除5.7之外的实例）参数值设置为3。
   
- 最多显示10000条数据。
 
#### 操作步骤
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002593882307.png)，选择区域。
3. 在"实例管理"页面，选择目标实例，单击实例名称，进入实例的"概览"页签。
4. 在左侧导航栏选择"智能DBA助手"下的"锁\&事务"。
5. 在"锁\&事务"页面，输入管理员密码登录实例。
6. 在"锁分析"页签，可以进行如下操作。 
   - 在"元数据锁"页签，支持创建锁分析，查看当前数据库是否有元数据锁。
     默认显示锁等待时间\>10s的锁个数，可自定义锁等待时间。
     图1元数据锁   
     ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002455684032.png "点击放大") 
   
   - 在"Innodb锁等待"页签，支持创建锁分析，查看当前数据库是否存在锁等待。
     默认显示锁等待时间\>10s的锁个数，可自定义锁等待时间。
     图2Innodb锁等待   
     ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002247224053.png "点击放大") 
   
   - 在"最近死锁分析"页签，支持创建锁分析，基于**SHOW ENGINE INNODB STATUS** 返回的最近一次死锁日志进行分析。如果发生过多次死锁，只会对最近一次死锁进行分析。
     仅支持查看最近7天创建的锁分析数据。
     图3最近死锁分析   
     ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002212223964.png "点击放大") 
   
   - 在"全量死锁分析"页签，打开全量死锁分析开关，定时对错误日志进行分析，解析其中的死锁信息，并进行全面的死锁分析。
     仅支持查看最近7天创建的锁分析数据。
     图4全量死锁分析   
     ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002212064180.png "点击放大") 
   
   
   
   
 
