我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql 从库上出现Waiting for table metadata lock 分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql 从库上出现Waiting for table metadata lock 分析

背景:

    业务反馈在主库上做了一个DDL操作,执行时间很快,但是从机上却一直报主从延迟告警。

分析:

    1. 在主机上查看当前的活动线程,发现从机回放进程处于 Waiting for table metadata lock中,但是并没有发现任何其它可疑进程。

--------+-------------+-----------------+--------+---------+---------+----------------------------------+-----------------------------------+
| Id     | User        | Host            | db     | Command | Time    | State                            | Info                              |
+--------+-------------+-----------------+--------+---------+---------+----------------------------------+-----------------------------------+
|      6 | system user |                 | NULL   | Connect | 3649022 | Waiting for master to send event | NULL                              |
|      7 | system user |                 | testtt | Connect |       9 | Waiting for table metadata lock  | alter table v_t add column aa int |
| 181873 | vector      | 127.0.0.1:41634 | testtt | Query   |       0 | starting                         | show processlist                  |
+--------+-------------+-----------------+--------+---------+---------+----------------------------------+-----------------------------------+

    2. 查看系统的未提交事务,发现了一个业务进程开启了事务但是一直未提交。

+-----------------+--------+------+---------------------+---------------------+------------------------------------------------------------------------------------------------------+
| host            | user   | time | trx_mysql_thread_id | trx_started         | left(p.info,100)                                                                                     |
+-----------------+--------+------+---------------------+---------------------+------------------------------------------------------------------------------------------------------+
| 127.0.0.1:41634 | vector |    0 |              181873 | 2020-04-23 20:41:29 | select p.host,p.user,p.time,t.trx_mysql_thread_id,t.trx_started,left(p.info,100) from information_sc |
+-----------------+--------+------+---------------------+---------------------+------------------------------------------------------------------------------------------------------+

    3. 手动KILL掉这个线程后,业务恢复正常

总结: 从机上也是可以通过设置set autocommit=0等方式来显示开启事务,从而阻塞从机回放线程的。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql 从库上出现Waiting for table metadata lock 分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL出现Waiting for table metadata lock异常如何解决

这篇文章主要介绍“MySQL出现Waiting for table metadata lock异常如何解决”,在日常操作中,相信很多人在MySQL出现Waiting for table metadata lock异常如何解决问题上存在疑惑,
2023-07-06

MySQL出现Waiting for table metadata lock异常的解决方法

目录1. 出现原因2. 处理方式1. 出现原因当对某个表执行DDL 语句时,将会自动给此表加上 mdl 元数据write 锁,直到事务提交才会释放。此锁的作用是为了保护 表结构的完整android性、元数据的一致性 。2. 处理方式模
2023-04-12

技术分享 | MySQL:从库出现 system lock 的原因

作者:高鹏(网名八怪)文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。本文来源:转载自公众号-老叶茶馆*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文为笔
技术分享 | MySQL:从库出现 system lock 的原因
2021-01-03

编程热搜

目录