ホームページ >データベース >mysql チュートリアル >長時間実行されている MySQL クエリで 60 秒後に「MySQL Server Has Gone Away」エラーが発生するのはなぜですか?
MySQL サーバーが停止しました - 予期しないタイムアウトの問題
長時間実行クエリ (120 秒のスリープ) を実行すると、ユーザーがエラーに遭遇しました。 「MySQL サーバーが消えました」というエラー メッセージが表示されてプロセスが失敗する問題。これはちょうど 60 秒後に発生します。この問題は、Windows Server 2003 と MySQL 5.1.36 コミュニティの両方で発生します。
トラブルシューティングの手順
ユーザーは、wait_timeout 設定を次のように調整するなど、さまざまなトラブルシューティング手段を試みました。 28800 秒後、データベース サーバーとマシンを再起動します。これらの努力にもかかわらず、タイムアウト エラーは引き続き発生します。
考えられる原因
タイムアウトが常に発生するため、この問題はリソース不足ではなく設定に関連しているようです。 60秒mark.
解決策
この問題は、PHP オプション mysql.connect_timeout に起因します。その主な目的は接続タイムアウトを指定することですが、最初のサーバー応答に許可される時間も決定します。この問題を解決するには、ユーザーは次のようにこのタイムアウト値を増やす必要があります:
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
これらの値を 300 秒 (5 分) に設定すると、システムはタイムアウトになるまでサーバーの応答をより長い時間待機します。 。これにより、長時間実行されるクエリを正常に完了できます。
以上が長時間実行されている MySQL クエリで 60 秒後に「MySQL Server Has Gone Away」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。