Ändern Sie die max_allowed_packet Size im MySQL-Server
-
Ändern Sie die
max_allowed_packet
-Größe im MySQL-Server -
Ändern Sie die
max_allowed_packet
-Größe im MySQL-Server unter Verwendung des Windows-Betriebssystems -
Ändern Sie die
max_allowed_packet
-Größe im MySQL-Server mit Ubuntu OS
Dieses Tutorial zeigt, wie man die max_allowed_packet
-Größe im MySQL-Server ändert. Um das zu lernen, verwenden wir zwei Betriebssysteme, Windows 10 und Linux (Ubuntu).
Ändern Sie die max_allowed_packet
-Größe im MySQL-Server
Wenn wir versuchen, Dateien hochzuladen, die größer als der Standardwert von max_allowed_packet
sind, erhalten wir die Fehlermeldung Pakete, die größer als max_allowed_packet sind, sind nicht erlaubt
.
Um diesen Fehler zu beseitigen, müssen wir die Grösse von max_allowed_packet
ändern. Aber vorher überprüfen wir den Standardwert wie folgt.
mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
Ausgang:
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.06 sec)
Im Moment beträgt die Größe von max_allowed_packet
4 MB, was 4194304 Bytes entspricht. In Anbetracht der MySQL Docs haben MySQL-Client und -Server ihre eigene max_allowed_packet
-Größe.
Der Wert, den wir oben sehen, verwendet das SHOW VARIABLES LIKE 'max_allowed_packet';
query ist der Wert auf der Seite des MySQL-Servers. Es ist notwendig, den Wert von max_allowed_packet
zu erhöhen, wenn wir die grösseren Pakete verarbeiten wollen.
Angenommen, wir möchten es auf 50 MB ändern. Wir können dies tun, indem wir die Konfigurationsdatei auf der Serverseite (ein Abschnitt namens [mysqld]
in der Datei my.ini
) sowie auf der Clientseite (ein Abschnitt namens [mysql]
oder [client]
in der Datei my.ini
).
Wir können diese Einstellung auch mit einer SQL-Abfrage ändern, wenn wir ein SUPER
-Privileg (Berechtigung) haben. Wie? Sehen wir uns unten beide Lösungen an.
Ändern Sie die max_allowed_packet
-Größe im MySQL-Server unter Verwendung des Windows-Betriebssystems
-
Öffnen Sie die Windows-Befehlszeile und navigieren Sie zum Installationspfad. MySQL Server wird unter
C:\Programme\MySQL\MySQL Server 8.0
installiert, wenn Sie den Standardspeicherort nicht geändert haben. -
Wechseln Sie mit
cd bin
in den Ordnerbin
. -
Geben Sie
mysql -u root -p password
ein, um sich beim MySQL-Server anzumelden. Wir steigen alsroot
-Benutzer ein; Sie können IhrenBenutzernamen
und IhrPasswort
verwenden. -
Sobald wir drin sind, führen Sie die folgende Abfrage aus, um die
max_allowed_packet
-Größe in MySQL Server zu ändern.mysql> SET GLOBAL max_allowed_packet=52428800;
-
Führen Sie die folgende Abfrage erneut aus, um die Änderung zu bestätigen.
mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
Ausgang:
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 52428800| +--------------------+---------+ 1 row in set (0.00 sec)
Die unten angegebene Lösung verwendet die Konfigurationsdatei, die sich im Standardpfad befindet, wenn Sie MySQL Server am Standardspeicherort installiert haben. Der Pfad der Konfigurationsdatei ist C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
.
-
Öffnen Sie die Datei
my.ini
. -
Suchen Sie nach dem Abschnitt
[mysqld]
und fügen Sie eine folgende Zeile unter diesem Abschnitt hinzu.max_allowed_packet=50M
-
Speichern und schließen Sie die Datei.
-
Starten Sie den MySQL-Server neu, um die Änderung anzuzeigen.
Ändern Sie die max_allowed_packet
-Größe im MySQL-Server mit Ubuntu OS
Nachdem wir in MySQL Server eingestiegen sind, können wir die gleichen Abfragen auf Ubuntu verwenden, die wir für das Windows-Betriebssystem verwendet haben. Die Schritte sind unten angegeben.
-
Öffnen Sie Ubuntu Terminal und verwenden Sie
sudo su
, um sich als Superuser anzumelden. -
Melden Sie sich außerdem bei MySQL Server an.
-
Es empfiehlt sich, den Standard- oder vorherigen Wert einer Variablen zu überprüfen, bevor Sie Änderungen vornehmen. Dafür können wir die folgende Abfrage verwenden.
mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
Ausgang:
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 67108864| +--------------------+---------+ 1 row in set (0.00 sec)
-
Führen Sie die folgende Abfrage aus, um den Wert von
max_allowed_packet
auf 70 MB zu aktualisieren, was 73400320 Bytes entspricht.mysql> SET GLOBAL max_allowed_packet=73400320;
-
Wir können das
SHOW VARIABLES LIKE 'max_allowed_packet';
ausführen Abfrage, um zu bestätigen, ob die Änderung erfolgt.
Wenn Sie die Konfigurationsdateien sehr gut bearbeiten können, ist die folgende Lösung besonders für Sie geeignet.
-
Öffnen Sie die Konfigurationsdatei im Pfad
/etc/mysql/mysql.conf.d/mysqld.cnf
.$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
-
Suchen Sie nach dem
max_allowed_packet
unter einem Abschnitt namens[mysqld]
und ändern Sie seinen Wert auf Ihre Wahl. Wenn es nicht dort ist, fügen Sie die folgende Zeile unter[mysqld]
hinzu.Denken Sie daran, wir ändern es auf 70 Millionen. Aber Sie können Ihre Nummer schreiben.
max_allowed_packet=70M
-
Speichern und beenden Sie die Datei.
-
Verwenden Sie
systemctl restart mysql
, um den MySQL-Server neu zu starten, und führen Sie Folgendes aus, um die Aktualisierung sicherzustellen.mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
Ausgang:
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 73400320| +--------------------+---------+ 1 row in set (0.03 sec)