• 145558

    文章

  • 857

    评论

  • 13

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

程序 Lock wait timeout exceeded; mysql trx_state: RUNNING


异常 Lock wait timeout exceeded; mysql trx_state: RUNNING

最近开发中出现了 上面的问题。mysql 事务一致在 runing 。 导致 插入 删除 更新不了,但是可以查询
搜索一般都说是 代码事务未提交。 可是代码明明已经加了 事务控制了。
但是还是 出现了 非常奇怪。

mysql 查看

查看连接的客户端:

SELECT * FROM information_schema.processlist ; 

查看事务记录:
select * from information_schema.INNODB_TRX;

排查是哪里导致的问题

首先通过 select * from information_schema.processlist where id = [trx_mysql_thread_id]
查询到的IP 并不是开发云服务器环境的IP, 看起来也不是 开发人员本地的IP啊。
而且通过 百度 IP 看本机的IP也不对啊。 奇怪了,不会是服务器 那边出什么问题了。

重新并找出对应的IP

begin;
SELECT * xxx ;
不要提交事务

select * from information_schema.INNODB_TRX; 
就可以看到 有事务在RUNING了 。 看看IP , 就知道当前自己的电脑的客户端IP是多少了。
居然和 百度IP的不一样。 通过IP对比发现是 同一个网段的,就可以找到是哪位同事 执行 出现的。

产生原因

原来 是某个同事,在DEBUG 代码的时候, 打了断点,但是没有执行完,直接关了IDEA 或者关了 执行。
网络环境也不会,所以出现了这个问题。 导致云mysql 感知不到 客户端断开了,事务没有提交和回滚。出现了这个问题
这种问题不是死锁

参考

https://blog.csdn.net/axingm/article/details/108372387
参考
参考
参考
参考


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客