Mysql事物鎖等待超時(Lock wait timeout exceeded; try restarting transaction)
一.問題描述
在做查詢語句時,MySQL 拋出了這樣的異常:鎖等待超時 Lock wait timeout exceeded;
try restarting transaction,是當前事務在等待其它事務釋放鎖資源造成的!
二.解決方案
1、數據庫中執行如下sql,查看當前數據庫的線程情況:
show full PROCESSLIST
2、INNODB_TRX 表的 trx_mysql_thread_id 字段對應 show full processlist 中的Id);
如果在,就說明這個 sleep 的線程事務一直沒有 commit 或者 rollback,而是卡住了,需要我們手動刪除:
select * from information_schema.innodb_trx
3、將找到的 trx_mysql_thread_id 手動刪除:
若 trx_mysql_thread_id 為 1816 :
kill 1816
古今成大事者,不唯有超世之才,必有堅韌不拔之志!

浙公網安備 33010602011771號