私はこれを達成する方法を説明する多くの記事を読みましたが、彼らは単にそれを適切にテストしていないという結論に達しました。私の結論は次のとおりです。
-
サーバーの
max_allowed_packet
ハードコードされた上限です。他のサーバー側の設定(構成ファイルまたはサーバーのコマンドラインパラメーター)と同じようにサーバー全体で変更できますが、クライアントから変更することはできません。 -
一部のクライアント(公式のコマンドラインユーティリティなど)では、
max_allowed_packet
を設定できます。 接続時に。これは、クライアントから値を実際に変更する唯一の方法です(セッションまたはグローバル変数を変更しても、交換されるパッケージのサイズには影響しません)が、小さくする場合にのみ役立ちます。 それ。サーバーの設定よりも大きいパッケージを送信すると、サーバーがそれらを受け入れないため、パッケージ関連のエラーがトリガーされます。
要約すると:
-
max_allowed_packet
を処理する必要があります 読み取り専用として。 - 小さすぎる場合は、サーバー全体で変更するか、そのまま使用する必要があります。
公式ドキュメントへのリンクを提供できないのは残念ですが、この主題は十分にドキュメント化されていません。