Problembeschreibung: Fehlermeldung:
MySQL begrenzt die Größe der vom Server akzeptierten Datenpakete entsprechend der Konfigurationsdatei. Manchmal ist die Größe des Datenpakets beim Einfügen, Aktualisieren oder Abfragen durch den Parameter max_allowed_packet begrenzt, was dazu führt, dass der Vorgang fehlschlägt. Sehen Sie sich den Parameter max_allowed_packet an: Auf dem Client ausführen: VARIABLEN wie „%max_allowed_packet%“ anzeigen; Die Ergebnisse sind wie folgt: +--------------------+------------+ | Variablenname | Wert | +--------------------+--------------------+ | maximal zulässiges Paket | 1024 | +--------------------+--------------------+ Änderungsmethode: 1. Um die Konfigurationsdatei zu ändern, können Sie my.cnf (my.ini unter Windows) bearbeiten und sie im Abschnitt [mysqld] oder im Abschnitt zur MySQL-Serverkonfiguration ändern. Wenn my.cnf nicht gefunden werden kann, können Sie Suchen Sie die Datei my.cnf. Unter Linux befindet sich die Datei in /etc/. 2. Ändern Sie in der MySQL-Befehlszeile setze global max_allowed_packet = 2*1024*1024*10 //Der Wert hier ist die Anzahl der Bytes. Wenn er auf 20 M geändert wird, müssen Sie sich erneut beim Client anmelden, damit die Änderung wirksam wird. Hinweis: Nachdem der Client den Befehl zum Ändern verwendet hat, wird dies nur vorübergehend wirksam. Nach dem Neustart von MySQL wird der ursprüngliche Wert wiederhergestellt. Lösung für den von MySQL unter Linux gemeldeten Fehler „Paket für Abfrage ist zu groß (1040 > 1024)“ Das Projekt lief vorher normal, aber plötzlich traten in den letzten Tagen immer wieder Abfragefehler auf. Ich habe mir die Protokolle angesehen und festgestellt, dass die Fehlermeldung „Paket für Abfrage ist zu groß (1040 > 1024)“ angezeigt wurde. Sie können diesen Wert auf dem Server ändern, indem Sie die Variable „max_allowed_packet“ festlegen. Ich habe bei Baidu nach der Lösung gesucht und den Lösungsverlauf aufgezeichnet. 1. Gründe Das von der Abfragedatenbank zurückgegebene Datenpaket ist zu groß und überschreitet den Standardwert. VARIABLEN wie „%max_allowed_packet%“ anzeigen; 2. Ändern Sie die standardmäßig maximal zulässige Paketgröße 2.1 Methode 1: Befehlsmethode (1). Geben Sie den folgenden Befehl in der MySQL-Konsole ein, um max_allowed_packet auf 20M zu setzen
(2) Beenden Sie MySQL, starten Sie den MySQL-Dienst neu und melden Sie sich dann bei MySQL an, um zu überprüfen, ob max_allowed_packet erfolgreich geändert wurde.
2.2 Methode 2: Ändern der Konfigurationsdatei my.cnf
(2). Fügen Sie unten [mysqId] hinzu
2.2 Beenden Sie den Editiermodus und starten Sie MySQL neu. Folgen Sie den Schritten in 2.1 (2) 3. Hinweis Nach der Konfiguration habe ich max_allowed_packet abgefragt und festgestellt, dass es 16777216 war, was eigentlich 16*1024*1024 ist, nicht die erwarteten 20 M. Also habe ich noch einmal nachgesehen und festgestellt, dass die Speicherkapazität des Servers möglicherweise nicht ausreicht, da Java einen großen Teil davon belegt, sodass MySQL die Parameter möglicherweise automatisch zurücksetzt. Daher kann es in einigen Fällen sein, dass MySQL den Parameter „max_allowed_packet“ nach einer Weile automatisch auf den Standardwert 1024 zurücksetzt, nachdem Sie ihn geändert haben, und derselbe Fehler erneut auftritt. |
>>: Angular-Leistungsoptimierung: Komponenten von Drittanbietern und Lazy-Loading-Technologie
Inhaltsverzeichnis erklären: Zusammenfassen Auffü...
Sortierproblem Ich habe kürzlich auf Geek Time „4...
Hintergrund Ich habe einen Projektdienst, der AWS...
Ich bin schon vor langer Zeit mit CSS in Berührun...
Vorwort Kürzlich wurde unser Server von Hackern a...
Vorwort Bei der tatsächlichen Verwendung der Date...
Inhaltsverzeichnis Gängige Zahlungsarten in Proje...
Später habe ich auch hinzugefügt, wie man Jupyter...
Inhaltsverzeichnis Zyklus für für-in für-von währ...
Inhaltsverzeichnis Vorwort: Freundliche Tipps: Va...
Docker-Nutzung von Gitlab Gitlab Docker Startbefe...
Vorwort Dieser Artikel stellt hauptsächlich die r...
Titel XML/HTML-CodeInhalt in die Zwischenablage k...
Ziel Zeigen Sie eine der Daten im iostat-Befehl i...
In diesem Projekt wird der Docker-Container zum E...