前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >waiting for table metadata lock的一种解决方法

waiting for table metadata lock的一种解决方法

原创
作者头像
于航
修改于 2019-08-10 08:05:00
修改于 2019-08-10 08:05:00
10K0
举报

问题描述

MySQL进行alter table等DDL操作时,有时会发现对某个表的任何操作都被阻塞,包括读,报错如下图所示

业务报错
业务报错

然后show process list可以看到大量的Waiting for table metadata lock的等待场景。

代码语言:txt
AI代码解释
复制
select * from information_schema.processlist order by time desc limit 10;
实例活动线程
实例活动线程

原因分析

这种现象的一个可能的原因是某个事务持有着这个表的元数据锁,需要把这个事务找出来并kill掉,使其回滚,那么alter table和其后续被阻塞的操作包括读等才会顺利进行下去。接下来我们去查询哪些事务没有提交。

代码语言:txt
AI代码解释
复制
select * from INNODB_RTX order by trx_started desc limit 10\G;
未提交事务信息
未提交事务信息

解决方案

找到这两个事务之后,kill即可释放其占有的元数据锁,后续阻塞的操作将会正常继续

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript之无题之让人烦躁的模块化
  我怎么记得我好像写过相关类型的文章,但是我找遍了我的博客没有~那就再写一遍吧,其实模块化的核心内容也算不上是复杂,只不过需要整理一下,规划一下罢了。嘻嘻。
zaking
2022/10/07
5140
前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例
使用vue-cli可以规范项目,提高开发效率,但是使用vue-cli时需要一些ECMAScript6的知识,特别是ES6中的模块管理内容,本章先介绍ES6中的基础与模块化的内容再使用vue-cli开发vue项目。 一、ECMAScript6概要 ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaSc
张果
2018/03/30
1.8K0
前端MVC Vue2学习总结(七)——ES6与Module模块化、Vue-cli脚手架搭建、开发、发布项目与综合示例
前端模块化-总结_前端模块化规范
先说说什么是模块化,就是将独立的功能代码封装成一个独立的文件,其他模块需要使用,在进行引用。
全栈程序员站长
2022/11/17
6660
前端模块化-总结_前端模块化规范
前端模块化详解(完整版)
上例子通过jquery方法将页面的背景颜色改成红色,所以必须先引入jQuery库,就把这个库当作参数传入。这样做除了保证模块的独立性,还使得模块之间的依赖关系变得明显。
小生方勤
2019/06/01
2.2K0
js模块化编程之彻底弄懂CommonJS和AMD/CMD!(转)
答:因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!
jojo
2019/03/12
1.7K0
前端模块化详解(完整版)
在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀,此时在JS方面就会考虑使用模块化规范去管理。 本文内容主要有理解模块化,为什么要模块化,模块化的优缺点以及模块化规范,并且介绍下开发中最流行的CommonJS, AMD, ES6、CMD规范。本文试图站在小白的角度,用通俗易懂的笔调介绍这些枯燥无味的概念,希望诸君阅读后,对模块化编程有个全新的认识和理解!
Nealyang
2019/09/29
1.3K0
前端模块化详解(完整版)
前端模块化
js本身的问题: 不具有模块化的语法规则,在语言层面没有命名空间。 JavaScript 编程过程中很多时候,我们都在修改变量,在一个复杂的项目开发过程中,如何管理函数和变量作用域,显得尤为重要。
前端小tips
2021/12/10
5080
前端模块化
NodeJS学习二CommonJS规范
Node程序由许多个模块组成,每个模块就是一个文件。Node模块采用了CommonJS规范。
空空云
2018/09/27
6100
Javascript模块化编程(三):require.js的用法
这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。 我采用的是一个非常流行的库require.js。 一、为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。   <script src="1.js"></script>   <script src="2.js"></scrip
汤高
2018/03/28
2.4K0
前端科普系列(3):CommonJS 不是前端却革命了前端
上一篇《前端科普系列(2):Node.js 换个角度看世界》,我们聊了 Node.js 相关的东西,Node.js 能在诞生后火到如此一塌糊涂,离不开它成熟的模块化实现,Node.js 的模块化是在 CommonJS 规范的基础上实现的。那 CommonJS 又是什么呢?
五月君
2020/12/30
6780
前端科普系列(3):CommonJS 不是前端却革命了前端
微生活时光机:去项目中挖掘JS模块化简史
让我们把眼光投向微生活各个时期项目中的 JS 代码,看一看时代在其中投下的烙印,也许只是管中窥豹、走马观花,但通过其组织形式的异同,或可一瞥 JS 模块化层面的历史脉络。
江米小枣
2020/06/15
6470
JavaScript的window.load小记
本文着重介绍注册在window对象上load事件,也就是window.onload事件。
休辞醉倒
2019/07/25
6680
Rspack 作者揭秘,你的 Tree Shaking 真的起作用了吗?
本文主要探讨了 Webpack Tree Shaking 的基本概念,而非深入其底层代码实现。相关的代码示例可以在 这里[1] 查看。
童欧巴
2024/05/09
3860
Rspack 作者揭秘,你的 Tree Shaking 真的起作用了吗?
Webpack4干货分享:第一部分,入口、输入和ES6模块
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
葡萄城控件
2018/09/14
5510
还在纠结JS代码风格? Google给你你答案了!
Google 和 Airbnb 是目前最流行的 JavaScript 代码风格,如果你长期使用 JavaScript 来写代码的话,建议对比看看。
Jean
2019/01/23
8710
RequireJS 中的define,require区别
在AMD(Asynchronous Module Definition)和RequireJS中,define 和 require 是两个关键概念,但它们在模块定义和模块加载方面有不同的用途。
jack.yang
2025/04/05
570
ES Module
惟一作用是让浏览代码变得容易一些,迅速找到指定模块,根本原因是单文件内容太长,已经遇到了维护的麻烦,所以手动插入一些锚点供快速跳转
ayqy贾杰
2019/06/12
9680
ES Module
30分钟学会前端模块化开发
早期的javascript版本没有块级作用域、没有类、没有包、也没有模块,这样会带来一些问题,如复用、依赖、冲突、代码组织混乱等,随着前端的膨胀,模块化显得非常迫切。
张果
2018/12/24
4.1K0
你的网站或许不需要前端构建(二)
这篇文章,依旧不想讨论构建或不构建,哪一种方案对开发更友好,更适合某个团队,只是在大环境都在构建,似乎不构建就无法写项目的环境下,分享一个相对轻的方案。
soulteary
2024/01/04
2050
收藏 | JavaScript 模块全面剖析
前端爱好者的知识盛宴 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。 所谓模块化主要是解决代码分割、作用域隔离、模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方面。 模块的优点 可维护性。 因为模块是独立的,一个设计良好的模块会让外面的代码对自己的依赖越少越好,这样自己就可以独立去更新和改进。 命名空间。 在 JavaScript 里面,如果一个变量在最顶级的函数之外声明,它就直接变成全局可用。因此,常常不小心出现命名冲突的情况。使用模块化开发来封
用户1097444
2022/06/29
5210
收藏 | JavaScript 模块全面剖析
相关推荐
JavaScript之无题之让人烦躁的模块化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档