1. 程式人生 > >記錄一次mysq Lock wait timeout exceeded

記錄一次mysq Lock wait timeout exceeded

開發的時候斷點除錯,更新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 搞定