MySQL/ロックを解除する

関連

  • MySQL

概要

中断したクエリが掴んでしまってロックされっ放しになったところをなんとかします。

方法

次のクエリでプロセスリストを表示します。

mysql> show processlist;
+-------+---------+----------------------+---------+---------+------+-------+------------------+
| Id    | User    | Host                 | db      | Command | Time | State | Info             |
+-------+---------+----------------------+---------+---------+------+-------+------------------+

ここでそれっぽいプロセスを見つけたら次のクエリでプロセスを殺します。

mysql> kill <Id>;

解説

クエリを中断したつもりでもプロセス自体は生きていることがあるみたいなので確認してやっつけちゃいましょう。

ロックされているテーブルを確認するには次のクエリを実行します。

mysql> show open tables where In_use > 0;
+----------+------------------------+--------+-------------+
| Database | Table                  | In_use | Name_locked |
+----------+------------------------+--------+-------------+

参考

  • http://blog.goo.ne.jp/pecomi/e/e1433e537dde5731463f39fd8c3e92d8
  • http://blog.r-unit.co.jp/archives/433
作成日 2013-08-17