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

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

相关推荐
我叫唧唧波13 小时前
【Java】Java 基础系统学习笔记
java·笔记·学习
晓梦林1 天前
BUUCTF findKey-学习笔记
笔记·学习
x17388062731 天前
XXE外部实体注入
xml·笔记
库玛西1 天前
C++ 运行时多态 :核心总结与原理图解
c语言·c++·笔记
魔力女仆1 天前
语言开发笔记3
笔记
x17388062731 天前
文件包含漏洞介绍
笔记
一只小菜鸡..1 天前
南京大学 操作系统 (JYY) 学习笔记:CPU 的局限、GPU 与 AI 时代的算力革命
人工智能·笔记·学习
所愿ღ1 天前
SSM框架-Spring3
java·开发语言·笔记·spring
影视飓风TIM1 天前
C++ STL 完整入门笔记[8]:deque 底层原理深度剖析
开发语言·c++·笔记
优化Henry1 天前
5G站点软件错误告警与资源激活超时两类典型告警分析与处理
网络·笔记·学习·5g·信息与通信