Hmmmm.. Sie haben anscheinend diesen NOT-A-BUG getroffen. :)
Wenn Sie eine globale Systemvariable ändern, wird der Wert gespeichert und für neue Verbindungen verwendet, bis der Server neu gestartet wird. (Um eine Einstellung einer globalen Systemvariablen permanent zu machen, sollten Sie sie in einer Optionsdatei festlegen.) Die Änderung ist für jeden Client sichtbar, der auf diese globale Variable zugreift. Die Änderung betrifft die entsprechende Sitzungsvariable jedoch nur für Clients, die nach der Änderung eine Verbindung herstellen. Die Änderung der globalen Variablen wirkt sich nicht auf die Sitzungsvariable für einen derzeit verbundenen Client aus (nicht einmal auf die des Clients, der die SET GLOBAL-Anweisung ausgibt).
Verweisen Sie auch darauf. Lesen Sie die Erklärung von Shane Bester.
Sie sollten von der Datei my.ini/my.cnf wechseln und den Server neu starten, damit die Einstellung max_allowed_packet wirksam wird.
Nach dem Ausführen von
set global max_allowed_packet=1000000000;
Sie müssen mysql vor
neu startenSHOW VARIABLES LIKE 'max_allowed_packet'
zeigt den neuen Wert an.
Ich habe dieses Problem, wenn ich mysql über die MAC OSX-Systemeinstellungen neu starte und der Wert sich nicht geändert hat. Also indem Sie sich über die Konsole bei mysql anmelden
mysql -u root -p
es zu ändern und dann mySql neu zu starten schien zu funktionieren. Könnte aber eine Macke von OS X gewesen sein.
Für diejenigen mit einer MariaDb-Konfiguration könnte das Problem darin bestehen, dass das max_allowed_packet Variable wird durch eine später aufgerufene Konfigurationsdatei überschrieben.
In meinem Fall habe ich versucht, eine Datenbank zu importieren, und der Server hat mir geantwortet:FEHLER 2006 (HY000) in Zeile 736:MySQL-Server ist verschwunden
Ich habe entdeckt, dass die Datei:
/etc/mysql/mariadb.conf.d/50-server.cnf
wird später aufgerufen
/etc/mysql/conf.d/mysql.cnf
Ich habe versucht, die Datei "mysql.cnf" kontinuierlich zu ändern, aber der Wert in "50-server.cnf" wurde überschrieben.
Die Lösung besteht also darin, die Datei einzugeben
/etc/mysql/mariadb.conf.d/50-server.cnf
und statt "max_allowed_packet =16M" Geben Sie den gewünschten Wert als Beispiel ein "max_allowed_packet =64M"