mysql MDL锁如何解决_RDS for MySQL元数据锁MDL导致无法操作数据库的处理方法_RDS for MySQL元数据锁MDL导致无法操作数据库的解决办法_华为云...

MetaData Lock即元数据锁,MetaData Lock主要为了保证元数据的一致性,用于处理不同线程操作同一数据对象的同步与互斥问题。MySQL 5.5版本开始,引入了MDL锁,但是因为MDL锁,会导致表级别的锁,无论是读或者写操作,都无法进行,导致SQL的阻塞。本章介绍通过华为云数据管理服务(Data Admin Service,简称DAS)解决该问题。

操作步骤

1.登录管理控制台。

2.单击管理控制台左上角的位置图标,选择区域和项目。

3.选择“数据库>关系型数据库”。进入关系型数据库信息页面。

4.在“实例管理”页面,选择目标实例,单击操作列的“登录”,进入数据管理服务数据库登录界面。

您也可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“登录”,进入数据管理服务数据库登录界面。

5.正确输入数据库用户名和密码,单击“登录”,即可进入您的数据库并进行管理。

6.在顶部菜单栏选择“SQL操作”>“SQL窗口”,打开一个SQL窗口。

7.在SQL窗口执行如下SQL查看数据库所有线程状态。

show full processlist

图1执行结果

522928c5dc41bc0e55f2fc89307666b2.png

8.查看“State”列是否出现大量“Waiting for table metadata lock”,“Waiting for table metadata lock”即表示出现阻塞,在对应的“Info”列可以查看到对应表的操作,找到正在对该表进行操作的会话,记录“Id”。

9.在SQL窗口执行如下命令解锁MDL锁。

kill Id

图2执行结果

c72c30ff368b9b23267e0ee0aaeacfdd.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值