【工作笔记】锁等待超时错误 排查

这是一个 MySQL 锁等待超时(Lock Wait Timeout) 错误,意思是当前事务尝试更新某行数据,但这行数据已被其他事务锁定,等待超过阈值后报错。

网上的原因大部分如下:

场景 说明
长事务未提交 某个事务UPDATE/SELECT FOR UPDATE后迟迟未COMMIT/ROLLBACK
批量更新冲突 多个线程同时更新同一批配置
事务嵌套过深 方法上 @Transactional 嵌套,导致锁持有时间过长
慢SQL拖累 事务中前面有慢查询,导致后续UPDATE等待过久
定时任务并发 XXL-JOB分片或重复调度导致多实例同时更新

通常的解决方案是

step1、登录 mysql 执行 SHOW PROCESSLIST;

step2、找到状态为 Waiting for table metadata lock 或 Waiting for table level lock 的进程,记录其 Id

step3、KILL 进程ID

但是!在这些排查解决操作之前,先看一下有没有在用navicat操作数据表,挨个检查打开的选项卡,看看有没有误触这里的"开始事务"(如果误触,会变成提交/回滚两个选项),选回滚即可解决,不一定是系统的问题(x

相关推荐
chnyi6_ya8 分钟前
论文阅读笔记:VBVR-Pro 把「用生成来推理」变成一个可训练、可验证、可优化的闭环
论文阅读·笔记
contro1_h24 分钟前
关于ArcGIS许可管理器服务无法启动的问题
经验分享·笔记·学习方法
1314lay_100739 分钟前
SQL SERVER 修改已创建的表
经验分享·笔记
東隅已逝,桑榆非晚1 小时前
vector(模拟实现)
c++·笔记·学习
AAA代码批发商2 小时前
DAY43 ARM 体系结构学习笔记|嵌入式入门,从硬件组件到流水线、内存与栈帧
arm开发·笔记·学习
彧azz3 小时前
初学Unity:编辑器
笔记·学习·unity·游戏引擎
江湖人称菠萝包3 小时前
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter11-PE文件格式深入剖析
windows·笔记
问心无愧05134 小时前
ctf show web53
笔记
qeen874 小时前
【Linux】操作系统之进程介绍(一)
linux·笔记·学习·进程
八年。。4 小时前
WSL学习(三)——搭建Linux + C++ + SOME/IP 基础开发环境
开发语言·笔记·ubuntu