「mysqlaltertablehanging」を検索してこの質問にたどり着きました。答えは(コメントで)文書化する必要があると思います。
MySQLコマンド(この場合は列を追加するため)を実行していて、予期せずハングしている場合(例:テーブル内のデータのサイズが原因ではない場合は、データベースに対して実行されている他のプロセスを確認してください。クエリを実行したままにして、別のクライアントでサーバーに接続し、入力しました
SHOW PROCESSLIST;
クエリがハングしていて、このメッセージはstate
でした 列:
Waiting for table metadata lock
自分のマシンからゾンビ接続がいくつかあることに気づき、それらを殺しました(KILL xxx
ここで、xxx
Id
の番号です 列)、そしてプロセスはすぐに終了しました。