MySQL: Fehler beim Import “query size is >= to max_allowed_packet”

Fehler beim Import einer SQL-Datei in die MySQL-Datenbank.

Beim Import einer SQL-Datei hatte ich folgende Fehlermeldung:

query size (1048576) is >= to max_allowed_packet (1048576)
SET FOREIGN_KEY_CHECKS = ON;

MySQL meldet: Dokumentation
#2006 - MySQL server has gone away

Das ganze klingt nach irgendeinem Konfigurationsparameter, welcher irgendwo überschritten wird. Das sollte sich doch beheben lassen. Ich verwende den Xampp als Server, welcher MySQL mitbringt. Der Parameter lautet “max_allowed_packet”.

Den aktuellen Wert können wir mit folgender SQL-Abfrage erfragen:

Select @@global.max_allowed_packet;

Der Wert ist in Bytes angegeben, was dann ca. einem MB entspricht. Um den Wert zu erhöhen können wir die Konfiguration bearbeiten. Hierzu öffnen wir die “my.ini” bzw. “my.cnf” Datei des Servers und fügen folgende Zeile in den “mysqld” Bereich ein:

max_allowed_packet=500M

Anschließend starten wir den Server neu. Alternativ können wir den Wert auch zur Laufzeit setzen, z.B. über phpMyAdmin. Hierzu setzen wir folgenden SQL-Befehl ab:

SET GLOBAL max_allowed_packet=1073741824

Der Wert wird damit bis zum Neustart des Servers auf den neuen Wert gesetzt.

Anschließend lief der Import ohne Probleme.

4 Kommentare

  1. Hallo,

    zunächst einmal vielen Dank für dieses Artikel! Ich bin über das Video hier gelandet. Bei der Durchführung der Video-Anleitung in MyAdmin erhielt ich folgenden Fehler:

    MySQL meldet: Dokumentation
    #1227 – Kein Zugriff. Hierfür wird die Berechtigung SUPER benötigt

    Nun weiß ich leider nicht, wie ich die Berechtigung SUPER erhalte und wäre daher sehr dankbar für eine Hilfestellung.

    Hier im Artikel steht nun noch, dass für eine dauerhafte Abänderung die „my.ini“ bzw. „my.cnf“ zu öffne ist. Wo ist diese denn zu finden?

    Mein Provider (Strato) sagt, er sei für SQL nicht zuständig. Daher wäre ich für Hilfestellung wirklich äußerst dankbar!!

    Gruß
    Birgit

    1. Hallo Birgit,

      den Fehler hatte ich so noch nicht, ich habe mal etwas im Internet geschaut:

      https://administrator.de/forum/mariadb-user-darf-keine-daten-importieren-373377.html

      Wenn man das File öffnet, dann findet man in den Statements sowas wie DEFINER=`itopuser`@`localhost`, was man dann auf den User ändern muss, der die Rechte für diese Datenbank hat.

      Schau am besten mal, ob es bei Dir auch sowas ist. Die “my.ini” oder “my.cnf” kannst Du nur ändern, wenn Du auch root-Rechte auf dem Server hast. Wenn Du normalen Webspace bei Strato hast, dann hast Du da ohnehin keinen Zugriff auf die Dateien und ich würde die Ursache auch eher woanders verorten.

      Falls das nicht hilft, kannst Du dich ja wieder melden.

      Gruß
      Andy

      1. Zunächst mal vielen herzlichen Dank für die Antwort!!

        Ich werde mir das später mal genau ansehen. Allerdings befürchte ich, dass das Problem eben daran liegt, dass Strato bewusst nur begrenzte Rechte erteilt (den Bereich USER sicht man ja vergeblich, wenn man über den Bearbeitungslink in My Admin geht.
        Und ich befürchte, wenn man die DB exportiert und extern bearbeitet, bringt das auch nichts, weil sie ja anschließend nicht hochgeladen werden kann, sondern wieder importiert werden muss. und damit wird die Paketgröße dann wieder von der DB vorgegeben, in welche man importiert. Daher hatte ich bei Strato um Änderung gebeten, aber dort sagt man, das gehe sie nichts an, die Konfiguration sei User-Sache.

        1. Hallo, zu Strato kann ich nicht soviel sagen. Aber es ist eher normal, dass man keine Nutzereinstellungen vornehmen kann. Was ich anbieten kann ist, sofern möglich, dass Du mir mal die SQL-Datei zusendest. Dann kann ich das auch mal bei mir testen. So ist es immer schwierig, dass von außen zu betrachten. Ein normaler Export der Datenbank als SQL-Dump und Import anderswo, sollte normal immer gehen, auch ohne spezielle Rechte für den User.

          Gruß
          Andy

Schreibe einen Kommentar zu Birgit Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert