今天布署应用的时候突然报下面的错、总结一下以免下次再次碰到。

MYSQL 锁等待 Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

在5.5中,information_schema库中增加了三个关于锁的表(MEMORY引擎);

innodb_trx ## 当前运行的所有事务

innodb_locks ## 当前出现的锁

innodb_lock_waits ## 锁等待的对应关系

解决方案

      1.进入mysql服务端中的information_schema数据库

      2.执行select * from information_schema.INNODB_TRX;

      3.找到这个字段trx_mysql_thread_id,把这一列的线程ID全部杀掉(下面这张图是正常的,没有锁等待,发现trx_state: WAIT表示锁等待,就会出现上图的报错)MYSQL 锁等待 Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

       4.执行 kill trx_mysql_thread_id;比如 kill 207456

 

相关文章:

  • 2021-11-06
  • 2022-12-23
  • 2021-07-06
猜你喜欢
  • 2021-05-22
  • 2021-07-19
  • 2021-10-08
  • 2021-12-02
  • 2021-08-26
  • 2022-12-23
相关资源
相似解决方案