次のような SQL ファイルのリストから MySQL ダンプを復元しようとしています。
for file in *.sql; do mysql ... < $file;done
この戦略は完全に機能しますが、特定のテーブルでは機能しません。実際には、コマンドを強制終了するまで、ブロックされたままになります。「SHOW FULL PROCESSLIST」で表示されるステータスは次のとおりです。
LOCK TABLES `ms_lims_properties` WRTIE
テーブルには5行しか含まれていないはずなのに、なぜ私のロードがこのようにロックされたままになるのか説明できません。
対応する sql ファイルのサンプルを次に示します。
LOCK TABLES `ms_lims_properties` WRITE;
/*!40000 ALTER TABLE ms_lims_properties DISABLE KEYS */;
INSERT INTO ms_lims_properties VALUES (1...
/*!40000 ALTER TABLE `ms_lims_properties` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
MyISAM をエンジンとして使用しているため、どこかにロックがあるかどうかを確認する方法がわかりません... MySQL 管理者から確認できる状態は次のとおりです。
Waiting for table
データベースを削除しようとしましたが、同じ結果で再作成しました... :(
誰か手がかりがありますか?
どうもありがとう