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

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

相关推荐
zhangrelay3 小时前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人
LHR_friendship4 小时前
HCIP课程全部内容
网络·笔记·学习·hcip·华为ensp
海绵宝宝转agent4 小时前
Pico 学习笔记 Harness 设计、历史压缩、三类目录与缓存复用
笔记·学习·缓存
xUxIAOrUIII6 小时前
日常笔记-1005-1
linux·笔记·python·macos
kaixin_啊啊6 小时前
彩谱FS-13高光谱相机学习笔记
图像处理·笔记·学习·高光谱相机
Ruannn(努力版)7 小时前
Patient/public-facing dashboards-prototype dashboard display
笔记
坤坤子吖8 小时前
Python基础语法学习:列表和元组
开发语言·笔记·python·学习
by209999 小时前
list 的使用:把节点、位置和操作联系起来的综合叙述(上)
数据结构·c++·笔记·list
東隅已逝,桑榆非晚9 小时前
数据结构队列
数据结构·笔记·学习