ホームページ > データベース > mysql チュートリアル > 「wait_timeout」を高く設定しているにもかかわらず、MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?

「wait_timeout」を高く設定しているにもかかわらず、MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-20 03:05:02
オリジナル
320 人が閲覧しました

Why Does My MySQL Connection Timeout After 60 Seconds, Even Though `wait_timeout` Is Set Higher?

MySQL サーバーが 60 秒後に切断されました

問題の背景

SQL クエリを実行しています以前は正常に動作していましたが、エラーが発生し、60 秒後にタイムアウトしてエラーが発生しました。クエリは遅いですが、毎晩のタスクの一部として実行されるため、それ自体は問題ではありません (したがって、最適化を提案しないでください)。

問題の詳細

PHP から「select SLEEP(120); (以下を参照)」を実行してエラーを再現しました。ただし、同じことを MySQL クライアントから実行すると、ステートメントは成功します (0 を返します) wait_timeout を調整しようとしました (28800 に設定) が失敗し、データベース サーバーとマシン自体も再起動しました

エラーは常に 60 秒後にタイムアウトすると思います。リソース制限の問題ではなくセットアップの問題

システム情報

  • Windows Server 2003
  • MySQL 5.1。
  • PHP 5.3

テストコード、出力、SHOW VARIABLES

[テストコード、出力、SHOW VARIABLES の結果はここでは省略]

解決策

php オプション mysql.connect_timeout がこの問題の原因です。これは、接続タイムアウトだけでなく、サーバーからの最初のリクエストの待機にも使用されます。応答は次のように増やすことができます:

ini_set('mysql.connect_timeout', 300);

ini_set('default_socket_timeout', 300);

以上が「wait_timeout」を高く設定しているにもかかわらず、MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート