MySQLDBとinnoDBテーブルがあります。接続し、テーブルをロックし、いくつかの更新を行ってから、テーブルのロックを解除するphpページがあります。PHPページは、Wampを介してApacheで提供されています。
phpページはファイルをデータベースにアップロードします。PHPに割り当てられているメモリよりも大きいサイズのファイルをアップロードして、システムのクラッシュをシミュレートすることにしました。これは間違いなくこのエラーを引き起こしました:18874368バイトの許可されたメモリサイズが使い果たされました(6176754バイトを割り当てようとしました)。その後、更新中にロックされていたテーブルは引き続きロックされます。
このエラーの後にテーブルにアクセスしようとすると、次のエラーが発生します。テーブル'a'はLOCKTABLESでロックされていません。SQLプロンプトを表示して、ロックされたテーブルから選択しようとするため、ロックの問題であることがわかっています。テーブルがロックされている場合とまったく同じように、待機します。その後、Apacheプロセスを強制終了すると、SQLプロンプトで実行しようとしたステートメントが最終的に実行されます。私の推測では、Apacheプロセスを強制終了すると、MySQLは、接続が切断されたためにテーブルロックを解放する必要があることを認識します。
何か案は??