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

这是一个 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

相关推荐
智者知已应修善业18 分钟前
【51单片机用T0定时器方式1,实现0.5S的时间间隔实现第一次一个灯亮、第二次二个灯亮,直到全部灯亮,然后重复整个过程】2023-12-29
c++·经验分享·笔记·算法·51单片机
智者知已应修善业1 小时前
【51单片机4位静态数码管显示1234】2023-11-14
c++·经验分享·笔记·算法·51单片机
whyTeaFo1 小时前
MIT6.1810: xv6 book Chapter4: Traps and system calls 笔记
笔记
jimbo_lee2 小时前
yocto 用法(随手笔记,记录以备不时之需)
笔记·yocto
胡图图不糊涂^_^4 小时前
测试用例篇——设计测试用例的方法
笔记·学习·测试用例·判定表法·正交法生成用例测试·等价类·边界值
IT19955 小时前
Dify笔记-知识库创建后设置和召回测试
笔记·dify
飞翔中文网5 小时前
Java学习笔记之抽象类
java·笔记·学习
中屹指纹浏览器6 小时前
2026指纹浏览器行为指纹对抗技术详解:从算法识别到真人模拟全方案
经验分享·笔记
2301_809051147 小时前
Linux 数据库开发 学习笔记
笔记·学习·数据库开发
很楠爱上7 小时前
Node.js 模块化学习笔记
笔记·学习·node.js