当前位置: 首页 > news >正文

MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测)

参考:MySQL出现Waiting for table metadata lock的原因以及解决方法 - digdeep - 博客园

当对表执行truncate\drop 操作时,会出现一直处于等待的状态,通过show processlist可以看到TableA停滞在Waiting for table metadata lock的状态。kill 进程号之后,重新进行truncate还是出现等待状态, 通过 select * from information_schema.innodb_trx 找到未提交事物的sid, 然后 kill 掉,让其回滚。

产生Waiting for table metadata lock的原因其实很简单,一般是以下几个简单的场景:

场景一:长事物运行,阻塞DDL,继而阻塞所有同表的后续操作

场景二:未提交事物,阻塞DDL,继而阻塞所有同表的后续操作

场景三:

通过show processlist看不到TableA上有任何操作,在information_schema.innodb_trx中也没有任何进行中的事务。这很可能是因为在一个显式的事务中,对TableA进行了一个失败的操作(比如查询了一个不存在的字段),这时事务没有开始,但是失败语句获取到的锁依然有效,没有释放。从performance_schema.events_statements_current表中可以查到失败的语句。

http://www.lryc.cn/news/490658.html

相关文章:

  • 学会Lambda,让程序Pythonic一点
  • GDPU 信息安全 期末复习
  • Python 使用 Token 认证方案连接 Kubernetes (k8s) 的详细过程
  • 【C++】ReadFile概述,及实践使用时ReadFile的速率影响研究
  • Mysql的UPDATE(更新数据)详解
  • 基于Java Springboot高校奖助学金系统
  • 如何在 Ubuntu 22.04 上安装带有 Nginx 的 ELK Stack
  • Python爬虫:深入探索1688关键词接口获取之道
  • Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
  • JSON Web Token (JWT)的简单介绍、验证过程及令牌刷新思路
  • xxl-job入门
  • 100.【C语言】数据结构之二叉树的堆实现(顺序结构) 1
  • 大模型 VS 大语言模型
  • Linux高阶——1117—TCP客户端服务端
  • 【Qt】Qt 在main.cpp中使用tr()函数报错
  • 面向对象高级(5)接口
  • uniapp发布android上架应用商店权限
  • Centos Stream 9安装Jenkins-2.485 构建自动化项目步骤
  • 电路模型和电路定理(二)
  • 瑞佑液晶控制芯片RA6807系列介绍 (三)软件代码详解 Part.10(让PNG图片动起来)完结篇
  • Qt常用控件 按钮
  • MySQL学习/复习10视图/用户/权限/语言连接数据库
  • vulfocus在线靶场:tomcat-pass-getshell 弱口令 速通手册
  • c#:winform调用bartender实现打印(学习整理笔记)
  • 牛客题库 21738 牛牛与数组
  • 探索PDFMiner:Python中的PDF解析利器
  • 掌握Go语言中的异常控制:panic、recover和defer的深度解析
  • 云讷科技Kerloud无人飞车专利发布
  • 企业信息化-走进身份管理之搭建篇
  • 实践指南:EdgeOne与HAI的梦幻联动