iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql 从库上出现Waiting for table metadata lock 分析
  • 445
分享到

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

2024-04-02 19:04:59 445人浏览 泡泡鱼
摘要

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

背景:

    业务反馈在主库上做了一个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等方式来显示开启事务,从而阻塞从机回放线程的。

您可能感兴趣的文档:

--结束END--

本文标题: Mysql 从库上出现Waiting for table metadata lock 分析

本文链接: https://www.lsjlt.com/news/49502.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作