ホームページ >データベース >mysql チュートリアル >「wait_timeout」を高く設定しているにもかかわらず、MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?
MySQL サーバーが 60 秒後に切断されました
問題の背景
SQL クエリを実行しています以前は正常に動作していましたが、エラーが発生し、60 秒後にタイムアウトしてエラーが発生しました。クエリは遅いですが、毎晩のタスクの一部として実行されるため、それ自体は問題ではありません (したがって、最適化を提案しないでください)。
問題の詳細
PHP から「select SLEEP(120); (以下を参照)」を実行してエラーを再現しました。ただし、同じことを MySQL クライアントから実行すると、ステートメントは成功します (0 を返します) wait_timeout を調整しようとしました (28800 に設定) が失敗し、データベース サーバーとマシン自体も再起動しました
エラーは常に 60 秒後にタイムアウトすると思います。リソース制限の問題ではなくセットアップの問題
システム情報
テストコード、出力、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 サイトの他の関連記事を参照してください。