mysql时抛出Lock wait timeout exceeded; try restarting transaction异常

Lock wait timeout exceeded; try restarting transaction是锁等待超时。是当前事务在等待其它事务释放锁资源造成的。

解决方法:

在mysql查询中执行以下指令

select * from information_schema.innodb_trx

结果如图:

image

找出与其他几个有参数不同的线程,找出他的线程号mysql_thread_id

执行命令kill +线程号即可解决。

我报这个错的原因是因为用hibernate执行了delete操作,却一直没有commit事务,后面再执行delete操作时就会抛这个异常。就是事务在等待给某个表加锁时超时,估计是表正被另的进程锁住一直没有释放。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。