ホームページ >データベース >mysql チュートリアル >MySQL 接続がエラー 2006 (「MySQL Server Has Gone Away」) で失敗するのはなぜですか? それを修正するにはどうすればよいですか?

MySQL 接続がエラー 2006 (「MySQL Server Has Gone Away」) で失敗するのはなぜですか? それを修正するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 04:37:14168ブラウズ

Why Does My MySQL Connection Fail with Error 2006 (

MySQL エラー 2006:「MySQL Server Has Gone Away」の理解と解決

ファイルとレポートを処理するサーバーを実行している場合結果をリモート MySQL サーバーに送信すると、「2006、MySQL サーバーが消えました」というエラーが発生する可能性があります。これは、サーバーへの接続が予期せず途中で終了したことを示します。

一般的な想定に反して、この問題は通常、wait_timeout 設定とは関係ありません。代わりに、解決策は別の MySQL パラメータ max_allowed_pa​​cket にあります。

max_allowed_pa​​cket: 解決の鍵

デフォルトの max_allowed_pa​​cket 設定は、多くの場合、次のように低いことがわかります。 4MB (4194304 バイト)、大規模なデータを処理するには不十分な場合がありますデータパケット。データ ペイロードがこの制限を超えると、サーバーが切断され、「MySQL サーバーが消えました」エラーが発生します。

これを解決するには、/etc/my.conf の [mysqld] セクションの max_allowed_pa​​cket 値を増やします。サーバー上の cnf 構成ファイル。通常、8 または 16 MB の設定で十分です。

例:

[mysqld]
...
max_allowed_packet=16M
...

または、次のコマンドを使用してパラメータを動的に設定することもできます (変更は再起動時に失われます)。

SET GLOBAL max_allowed_packet=104857600;

追加注:

  • Windows システムでは、my.cnf ファイルが ANSI エンコード (UTF-8 ではない) で保存されていることを確認してください。
  • Windows では、my.ini代わりにファイルを編集する必要がある場合があります。
  • max_allowed_pa​​cket を調整してもエラーが解決しない場合は、次のような他の MySQL パラメータを確認することを検討してください。 read_timeout および wait_timeout として。

以上がMySQL 接続がエラー 2006 (「MySQL Server Has Gone Away」) で失敗するのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。