本文主要是介绍20201016-MYSQL死锁问题分析Deadlock found when trying to get lock; try restarting transaction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
测试环境中财务服务对RabbitMQ消息进行消费时,出现异常
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
原因分析:
从上面截图可以看出是发现了mysql的死锁问题
到测试库上执行如下脚本
show engine innodb status;
找到事务1,事务2对应的SQL语句
查找依据:
- SQL语句,根据LATEST DETECTED DEADLOCK提供的死锁时记录的sql语句。
- 线程ID(mysql的唯一标识): MySQL thread id 7102060(事务1被回滚)
- 7102091(事务2)执行时间(时间线):2020-10-16 15:17:08 7ff6fabe3700
这篇关于20201016-MYSQL死锁问题分析Deadlock found when trying to get lock; try restarting transaction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!