元数据锁
元数据锁(Metadata Lock, MDL),其作用是用于解决DDL操作与DML操作的一致性。通常DDL操作需要获取MDL写锁,并且MDL锁一旦发生,可能会影响数据库的性能,因为后续对该表的任何Select、DML、DDL操作都会被阻塞,造成连接积压。
该功能展示了当前时刻(实时)数据库的MDL锁的信息,可以快速帮助定位MDL问题、终止持有MDL锁的会话,从而恢复被阻塞的操作。
使用须知
- DML锁不在当前功能的范围之内,可以使用InnoDB锁等待进行分析和查看。
- 当前仅支持数据库引擎MySQL5.6,MySQL5.7。
- 最多显示1000条数据。
操作步骤
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域和项目。
- 单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
- 在左侧的导航栏中单击
页签,进入DBA智能运维实例列表页面。
您也可以在产品概览页面,单击“进入DBA智能运维”,进入DBA智能运维实例列表页面。
- 在实例列表页面右上角,按照引擎、实例名称或者实例IP筛选实例。
图1 筛选实例
- 选择目标实例,单击“详情”,进入“实例概览”页面。
- 选择“锁&事务”下的“元数据锁”。
- 根据需要选择锁状态、数据库名、锁类型、会话ID等进行查询。
- 在查询结果中查看是否存在持有MDL锁的会话。若存在,单击“kill会话”。