开发的时候断点调试,更新mysql表后然后期间抛出异常,导致对应主键记录锁住,其他线程修改一直卡住并抛出 Lock wait timeout exceeded; try restarting transaction
执行 show processlist;
并未发现异常线程。
然后
#当前运行的所有事务
mysql> SELECT * FROM information_schema.INNODB_TRX;
#当前出现的锁
mysql> SELECT * FROM information_schema.INNODB_LOCKs;
#锁等待的对应关系
mysql> SELECT * FROM information_schema.INNODB_LOCK_waits;
找到卡住线程,执行 kill 线程id
搞定