mysql异常Lock wait timeout exceeded问题分析

news/2024/10/24 9:26:07/文章来源:https://www.cnblogs.com/pqdl4312/p/18498848

在代码debug模式中,调试业务流程时遇到

  java.lang.Exception:
    ### Error updating database.  Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

异常;

原因分析: 执行update sql语句时发生 "LOCK WAIT”事务.

具体来说就是:

当事务A对记录1进行更新或者删除操作的请求未commit时,还处于debug调试中,另一个事务B(浏览器)也对记录1进行更新或者删除操作,此时事务B回等待前一个事务A提交事务,释放行锁,如果这个时间超过mysql设置的超时时间,则会产生“LOCK WAIT”事务。

解决办法

执行mysql命令: SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

找到 trx_state 为“LOCK WAIT”的记录,根据记录中查询语句的系统id(trx_mysql_thread_id):kill掉被锁住的线程id

KILL trx_mysql_thread_id ;

这是请求还会出现 "LOCL_WAIT"的情况;

在没有其他程序请求数据库时,执行mysql命令SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

发现结果除了一条"LOCK_WAIT"的记录,还有两条对应的"RUNNING"记录,索性一次性全部都 kill 掉后。

问题解决了。

代码层修复:1.在有该sql的代码模块加入事物,并且指定超时时间;

@Transactional( rollbackFor = Exception.class , isolation = Isolation.REPEATABLE_READ, timeout = 30)

SQL优化:2、事务中 存在批量修改、删除的语句的时候,where 条件尽量加索引

 
文章知识点与官方知识档案匹配,可进一步学习相关知识
MySQL入门技能树SQL高级技巧CTE和递归查询95326 人正在系统学习中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/821040.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【加密系统】华企盾DSC服务台提示:请升级服务器,否则可能导致客户端退回到旧服务器的版本

华企盾DSC服务台提示:请升级服务器,否则可能导致客户端退回到旧服务器的版本 产生的原因:控制台版本比服务器高导致控制台出现报错解决方案方法:将控制台回退到原来的使用版本,在控制台负载均衡查看连接该服务器各个控制台版本。控制台版本在“关于”中查看,将控制台版本…

设计测试用例编写技巧_

一、查看用例的模板二、用例的要素讲解 .编写用例的要素? 用例编号,用例标题,前置条件,测试步骤,预期结果,优先级 (必写) 系统名称、模块名称、用例创建时间,实际结果,用例类型,执行时间,执行状态等(非必填项) 三、详解测试用例要素 (一)用例编号 可以称为:用…

视觉人体动作行为识别系统

视觉人体动作行为识别系统基于AI视觉智能分析算法,视觉人体动作行为识别系统利用监控摄像头捕捉到的视频数据进行实时分析。通过对工人的操作行为进行识别,系统能够准确判断工人在生产过程中是否存在违规行为或操作错误等情况。例如,系统可以识别工人是否按照正确的顺序执行…

智慧监狱人员行为识别监测系统

智慧监狱人员行为识别监测系统是基于神经网络AI视觉智能分析算法开发的技术。智慧监狱人员行为识别监测系统利用现场监控摄像头,通过对人体活动骨架的结构化分析,根据人体运动轨迹定义了多种异常行为,从而实现对监舍内的静坐不动、离床、攀高、独处;洗手间场景的入厕超时、…

垃圾分类智能监控系统

垃圾分类智能监控系统基于AI视觉智能分析算法,垃圾分类智能监控系统通过现场摄像头对垃圾投放点进行24小时不间断的监控。系统利用智能分析算法,可以实时识别垃圾乱投、垃圾箱满溢、厨余垃圾误时投放等垃圾分类违规投放行为。垃圾分类智能监控系统一旦系统检测到这些违规行为…

2024.7.2

2024.7.2 T1 题面 总共 \(n\) 个数与 \(m\) 个限制,第 \(i\) 个限制给定 \(k_i\) 个数,表示这些数两两不能分为一组,问最少可以分为几组。 \(1\le k\le n\le 10^5,1\le m\le 4\) 题解 把每个人的参赛情况用一个 \([0,15]\) 中的整数 \(s\) 表示,再按照 \(\operatorname{pop…

[快速阅读八] Matlab中bwlookup的实现及其在计算二值图像的欧拉数、面积及其他morph变形中的应用。

以前看过matlab的bwlookup函数,但是总感觉有点神秘,一直没有去仔细分析,最近在分析计算二值图像的欧拉数时,发现自己写的代码和matlab的总是对不少,于是又去翻了下matlab的源代码,看到了matlab里实现欧拉数的代码非常简单,其核心就是借用了bwlookup函数。以前看过matlab…

Ftrans供应链文件分发平台:如何确保数据安全与合规性?

传统制造企业在日常协作中,会涉及到像采购订单和合同、技术规格和图纸、质量标准和检验报告、库存和补货信息等文件分发需求。到在选择供应链文件分发平台时,需要考量以下因素,从而选择出合适的传输方式: 1.安全性:确保文件在传输过程中的安全性是至关重要的。需要考虑传输…

【Shiro】12.自定义过滤器

通过查看若依源码(ruoyi-framework)下的过滤器文件(src.main.java.com.ruoyi.framework.config.ShiroConfig)可以发现设置了过滤器。过滤器(Filter)是Java Servlet技术中的一个重要部分,主要用于在 Servlet 处理请求之前或响应之后对数据进行某些处理。可以这么理解。如果类…

【深度解读】涉密网向非涉密网跨网传输数据,需要注意什么?

网间数据传输的背景 为什么会存在涉密网向非涉密网跨网传输数据呢?哪些行业会面临这样的传输场景呢? 首先,会存在这样的场景,是因为有核心机密数据需要保护,通常会在政府机构、金融机构、军工企业、科研单位和大型企业中会做这样的网络隔离。这种做法主要是为了保护敏感信…

【泛微E9】在查询列表中增加红色字体的提示

效果如下:实现方法:<link rel="stylesheet" href="/js/jquery-ui-1.13.2/jquery-ui.css"> <link rel="stylesheet" href="/js/jquery-ui-1.13.2/jquery-ui.min.css"> <script src="/js/jquery-ui-1.13.2/jquery…

无需等待Vue Release发布,就能在项目中体验最新版

两个月前尤大在Vue 仓库中引入了 pkg.pr.new,有了这个后Vue仓库中的每个commit或者PR都会自动触发一个新的发布,我们就可以在项目中体验最新版本的Vue啦。前言 两个月前尤大在Vue 仓库中引入了 pkg.pr.new,有了这个后Vue仓库中的每个commit或者PR都会自动触发一个新的发布,…