更新时间:2024-08-09 gmt 08:00
rds for mysql元数据锁mdl导致无法操作数据库的解决方法-九游平台
metadata lock即元数据锁,metadata lock主要为了保证元数据的一致性,用于处理不同线程操作同一数据对象的同步与互斥问题。mysql 5.5版本开始,引入了mdl锁,但是因为mdl锁,会导致表级别的锁,无论是读或者写操作,都无法进行,导致sql的阻塞。本章介绍通过数据管理服务(data admin service,简称das)解决该问题。
操作步骤
- 。
- 单击管理控制台左上角的,选择区域和项目。
- 单击页面左上角的,选择“数据库 > 云数据库 rds”,进入rds信息页面。
- 在“实例管理”页面,选择目标实例,单击操作列的“登录”,进入数据管理服务数据库登录界面。
您也可以在“实例管理”页面,单击目标实例名称,进入“基本信息”页面,在页面右上角,单击“登录”,进入数据管理服务数据库登录界面。
- 正确输入数据库用户名和密码,单击“登录”,即可进入您的数据库并进行管理。
- 在顶部菜单栏选择“sql操作”>“sql查询”,打开一个sql窗口。
- 在sql窗口执行如下sql查看数据库所有线程状态。
show full processlist
图1 执行结果
- 查看“state”列是否出现大量“waiting for table metadata lock”,“waiting for table metadata lock”即表示出现阻塞,在对应的“info”列可以查看到对应表的操作,找到正在对该表进行操作的会话,记录“id”。
- 在sql窗口执行如下命令解锁mdl锁。
kill id
图2 执行结果
父主题:
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨