欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Lock wait timeout exceeded; try restarting transaction

程序员文章站 2022-07-03 19:43:15
问题原因:1、在高并发的情况下,Spring事物造成数据库死锁,后续操作超时抛出异常。2、Mysql数据库采用InnoDB模式,默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,一旦数据库锁超过这个时间就会报错解决方法:1、查看当前的事务 当前运行的所有事务mysql> SELECT * FROM information_schema.INNODB_TRX;就长这样,LOCK WAIT为锁住状态,后面有sql语句,是导致锁住的原因2、然后直接开始...

问题原因:

1、在高并发的情况下,Spring事物造成数据库死锁,后续操作超时抛出异常。

2、Mysql数据库采用InnoDB模式,默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,一旦数据库锁超过这个时间就会报错

解决方法:
1、查看当前的事务 当前运行的所有事务

mysql> SELECT * FROM information_schema.INNODB_TRX;

Lock wait timeout exceeded; try restarting transaction
就长这样,LOCK WAIT为锁住状态,后面有sql语句,是导致锁住的原因

2、然后直接开始杀线程,trx_mysql_thread_id这个字段是线程id,执行命令:

kill thread_id

如果kill不了(我开始就是这样),那从最后一个开始kill试试,我成功了的。我现在还有点懵。。

本文地址:https://blog.csdn.net/weixin_44092667/article/details/110950120

相关标签: MySQL MySQL事务