Ankündigung

Einklappen
Keine Ankündigung bisher.

2,8 GB Dump, Server has gone away

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 2,8 GB Dump, Server has gone away

    Moin moin,

    versuche gerade nen 2,8 GB großen Dump von nem Linuxsystem per Konsole in Windows zu importieren:

    mysql -uroot DBNAME < 2011-06-06.DBNAME.sql

    Läuft auch, bis ca. 1,3 GB in der DB sind, danach "MySQL server has gone away". Ist halt mein lokaler XAMPP, arbeite nebenher normal an nem Projekt, das auch auf den MySQL-Server zugreift. Gibts ne Möglichkeit dem Server zu sagen, er solls ruhiger angehen lassen, damit er sich nicht zwischendrin verabschiedet?
    "Mein Name ist Lohse, ich kaufe hier ein."


  • #2
    Hi,

    ich habe jetzt nur Linux zur Verfügung in dem Client kannst du aber den Timeout mitgeben:
    Code:
    mysqldump --connect_timeout (zeit in Sekunden) -uroot DBNAME < 2011-06-06.DBNAME.sql
    John Wart sagt: "Hey, mich interessiersts'!" | Besuche mich auch auf [URL="https://www.facebook.com/John.Wart"]Facebook[/URL], [URL="http://twitter.com/derwebwart"]Twitter[/URL] oder meinem [URL="http://der-webwart.de/blog/"]Blog[/URL].

    Kommentar


    • #3
      Selbst bei connect_timeout=180 verabschiedet sich MySQL irgendwann
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        Du könntest den Dump in die einzelnen Tabellen zerlegen und anschließend einzeln importieren.

        Wenn du die Originaldatenbank zur Verfügung hast, exportiere die Tabellen einzeln. Ist zwar mehr Arbeit, aber eine wirkliche Alternative fällt mir nicht ein.

        Wobei: ich habe von einem Bekannten mal von BigDump gehört, was sowas (über php...) in Abschnitten importieren können soll. Ich habe es jedoch nie selbst benötigt oder ausprobiert.

        Viel Erfolg weiterhin!
        [I][COLOR=DimGray]Je mehr ich lerne, desto mehr wird mir bewusst, dass ich eigentlich nichts weiß.[/COLOR][/I]

        Kommentar


        • #5
          http://dev.mysql.com/doc/refman/5.1/de/gone-away.html

          Auf meine lokale MySQL-DB (ohne XAMPP oder sonstiges) schiebe ich im Geschäft Tabellen mit weit mehr GB ohne Probleme. Standardmäßig killt MySQL meines Wissens nach 8 - 10 Stunden die Verbindung. Wenn das Einspielen deines Dumps so lange dauern sollte würde ich mir mal einen zeitgemäßen Rechner holen

          Vielleicht liegt's aber auch daran, dass du mysqldump und nicht mysql verwendest. Ich mache es immer so:

          Code:
          mysql -uBLUBB -p db < dump.sql
          Viele Grüße,

          Dirk

          Kommentar


          • #6
            Hi,

            Schande über mich. Ich meinte natürlich ebenfalls 'mysql' und nicht 'mysqldump'.
            John Wart sagt: "Hey, mich interessiersts'!" | Besuche mich auch auf [URL="https://www.facebook.com/John.Wart"]Facebook[/URL], [URL="http://twitter.com/derwebwart"]Twitter[/URL] oder meinem [URL="http://der-webwart.de/blog/"]Blog[/URL].

            Kommentar


            • #7
              Fehler-Log ? "Gone Away" passiert nich grundlos, notfalls kannst du mit --force dein dump auch "in die DB treten".
              PHP.de Gitter.im Chat - Meine öffentlichen Bookmarks ← Ich habe dir geholfen ? Beschenk mich.

              Kommentar


              • #8
                Zitat von JohnWart Beitrag anzeigen
                Schande über mich. Ich meinte natürlich ebenfalls 'mysql' und nicht 'mysqldump'.
                Und ich natürlich auch.
                "Mein Name ist Lohse, ich kaufe hier ein."

                Kommentar


                • #9
                  Zitat von tr0y Beitrag anzeigen
                  Fehler-Log ? "Gone Away" passiert nich grundlos, notfalls kannst du mit --force dein dump auch "in die DB treten".
                  In der mysql_error.log im data-Ordner steht leider nichts.

                  --force probiere ich jetzt mal aus.
                  "Mein Name ist Lohse, ich kaufe hier ein."

                  Kommentar


                  • #10
                    falls force nicht will -> max_allowed_packet hochdrehen, was anderes würde mir ohne kenntnis über den inhalt des dumps nicht einfallen.
                    PHP.de Gitter.im Chat - Meine öffentlichen Bookmarks ← Ich habe dir geholfen ? Beschenk mich.

                    Kommentar


                    • #11
                      Oh, ok. Ich habe es noch nie mit mysqldump probiert (und war auch zu faul mal zu probieren, ob das vielleicht wirklich geht), deshalb habe ich das als mögliche Fehlerquelle ausgemacht. Wenn's nur vertippt war, dann schade

                      Ich denke echt, dass da was falsch konfiguriert ist. Weit größere Mengen schaffe ich in weit weniger Zeit als den voreingestellten 8(?) Stunden.

                      Schmeiß dir doch einfach mal den MySQL-Server drauf... Btw.: Was weit einfacher ist als über mysqldump eine Dump zu ziehen und ihn über die Konsole wieder einzuspielen ist bei MyISAM-Tabellen diese als Dateien aus dem MySQL_ORDNDER\data\DB_NAME\ herunterzuladen und dann direkt wieder in den Ordner zu kopieren, in dem du die Tabelle(n) haben möchtest. Schnell MySQL neu gestartet und innerhalb von 5 Minuten sind paar GB an Daten kopiert.

                      Versuch's vielleicht mal damit.

                      Viele Grüße,

                      Dirk

                      Kommentar


                      • #12
                        Das du es mit mysqldump nie versucht hast wird daran liegen das es mit mysqldump nicht geht daten zu importieren. Da das tool ein (reiner) Datenexporter ist..

                        Das die DB mit der Masse der Daten klar kommt, kann an vielen Stellen liegen. Bspw. bei hoher Festplattenfragmentation die in I/O-Timeouts des Dateisystem enden sagt die DB nach ein paar GB ( genauer nach 1/2 der zur verfügung stehenden Memory-Pages ) auch auf wiedersehen, da solche "Außenprobleme" nicht von MySQL gehandhabt werden können ( allein schon aus cluster gründen nicht ). Die Deamon-Instanz geht dann einfach "away"..

                        Ich vermute allerdings das das nicht der Fall ist, sondern die Dumps größere Blöcke importieren als "erlaubt". Wenn ein anderes System das inserten des Dumps erlaubt, dann schau dir doch mal dort die Execute-Conditions in den Einstellungen an und passe ebendsolche für den Dump-Import im Command Line an.
                        PHP.de Gitter.im Chat - Meine öffentlichen Bookmarks ← Ich habe dir geholfen ? Beschenk mich.

                        Kommentar

                        Lädt...
                        X