ホームページ >データベース >mysql チュートリアル >MySQL 接続が「MySQL Server Has Gone Away」エラーで切断され続けるのはなぜですか?
「MySQL Server Has Gone Away」エラーについて理解する
PDO プリペアド ステートメントを繰り返し実行するスクリプトを使用する場合、 「MySQL サーバーが消えました」というエラー。このエラーは、特に MySQL バージョン 5.0.77 および PHP バージョン 5.2.12 を使用する環境で、一定回数の実行が成功した後によく発生します。
エラーの原因:
この問題の根本原因は、MySQL サーバーで許可されている最大パケット サイズを超えていることにあります。たとえば、大きな BLOB オブジェクトを挿入すると、パケット サイズが設定された制限を超える可能性があります。
クライアントおよびサーバー ログのエラー メッセージ:
クライアント側では、エラーは「MySQL サーバーが消えました」として現れます。サーバー ログ (エラー ログが有効な場合) に、次のメッセージが表示される場合があります:
Error 1153 Got a packet bigger than 'max_allowed_packet' bytes
解決策:
このエラーを修正するには、次の手順を実行する必要があります。 MySQL 構成ファイル (my.ini など) の max_allowed_packet 設定を調整します。方法は次のとおりです。
max_allowed_packet = [SIZE]
ここで、[SIZE] は希望する最大パケット サイズ (バイト単位) です。たとえば、最大パケット サイズを 200 メガバイトに設定するには:
[mysqld] ... max_allowed_packet = 200M ...
追加の考慮事項:
以上がMySQL 接続が「MySQL Server Has Gone Away」エラーで切断され続けるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。