この記事について
| 環境 | mysql |
|---|---|
| 目的 | 大した処理でもないのにERROR 1205 (Lock wait timeout exceeded)が出るのを解消する |
| 結果 | show processlistで長時間実行中のスレッドを見つけてkillしたら通った |
つまずきポイント要約
- とても長い時間実行中のスレッドがロックを握っていた
事象
大して大きな処理のクエリでもないのにエラーが出た
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
対処
実行中のスレッドを確認してみる。
実行したクエリ
mysql> show processlist;
とても長い時間、実行中のスレッドを発見。プロセスを強制終了する。
プロセスを終了させるクエリ
mysql> kill 226948616;
再び目的のクエリを実行すると、エラーも出ずにうまくいった。
