mysql Lock wait timeout exceeded; try restarting transaction

查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在show full processlist里面的sleep线程中,如果是,就证明这个线程事务一直没有commit或者rollback而是卡住了,我们需要手动kill掉。


mysql> SELECT * FROM information_schema.INNODB_TRX\G;



trx_mysql_thread_id: 86200



现在杀死进程:

mysql> kill 86200;

Query OK, 0 rows affected (0.00 sec)

上一篇:Mybatis操作Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新


下一篇:Caused by: java.lang.IllegalStateException: commit already called