Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Können Sie max_allowed_packet vom Client erhöhen?

Ich habe viele Artikel gelesen, die erklären, wie man das bewerkstelligt, aber ich bin zu dem Schluss gekommen, dass sie es einfach nicht richtig getestet haben. Meine Schlussfolgerungen sind:

  • max_allowed_packet des Servers ist eine fest codierte Obergrenze. Sie können sie wie jede andere serverseitige Einstellung (Konfigurationsdatei oder Server-Befehlszeilenparameter) für den gesamten Server ändern, aber es ist nicht möglich, sie vom Client aus zu erhöhen.

  • Einige Clients (wie das offizielle Befehlszeilendienstprogramm) erlauben das Setzen von max_allowed_packet auf Verbindung. Es ist die einzige Möglichkeit, den Wert tatsächlich von einem Client aus zu ändern (das Ändern von Sitzungs- oder globalen Variablen hat keine Auswirkung auf die Größe der ausgetauschten Pakete), aber es ist nur nützlich, wenn Sie verringern möchten es. Das Senden von Paketen, die größer als die Einstellung des Servers sind, wird immer noch paketbezogene Fehler auslösen, da der Server sie nicht akzeptiert.

Zusammenfassend:

  1. Sie müssen max_allowed_packet behandeln als schreibgeschützt.
  2. Wenn es zu klein ist, müssen Sie es für den gesamten Server ändern oder damit leben.

Es ist schade, dass ich keine Links zu offizieller Dokumentation bereitstellen kann, aber dieses Thema ist schlecht dokumentiert.