1

次のような 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

データベースを削除しようとしましたが、同じ結果で再作成しました... :(

誰か手がかりがありますか?

どうもありがとう

4

1 に答える 1