MySQL サーバーが停止しました - 予想から 60 秒離れています
この記事では、MySQL サーバーがクエリを実行する原因について説明します120 秒続いた問題 60 秒後にタイムアウトし、エラーがスローされる問題。クエリは正常に実行されていましたが、PHP スクリプトの問題によりこのエラーが発生しました。
問題の症状
システム構成
分析
SHOW VARIABLES 出力を確認したところ、wait_timeout が 28800 (480 分) に設定されていることがわかりましたが、エラーはまだ存在します。これは、wait_timeout が問題ではないことを示しています。
解決策
問題の原因は、PHP オプション mysql.connect_timeout です。このオプションは、接続タイムアウトだけでなく、サーバーからの最初の応答を待つためにも使用されます。デフォルトでは、クエリ期間が 120 秒に設定され、mysql.connect_timeout が 60 秒に設定されているため、サーバーは 60 秒後に接続を閉じ、エラーが発生します。
mysql.connect_timeout を少なくとも 120 秒に増やすことで、この問題を解決しました。これは、次のコードで実現されます:
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
これにより、mysql.connect_timeout が 300 秒に増加し、サーバーの応答を待っている間に接続が早まって終了することが回避されます。
以上が「wait_timeout」がはるかに長いにもかかわらず、MySQL クエリが 60 秒後にタイムアウトになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。