MySQL - Große Datenbank portieren

scope

scope

Aktives Mitglied
Thread Starter
Dabei seit
24.01.2005
Beiträge
4.124
Reaktionspunkte
305
Ich habe einen Haufen Tabellen mit einer Menge Daten drin (15MB)
Nun möchte ich diese auf einen neuen Server portieren.
Allerdings schmiert der Import im PHPMyAdmin immer ab, mit der Meldung "MySQL Server has gone away".
Gibt es noch andere Möglichkeiten bei einem normalen Provider die Daten aufzuspielen?
 
Hast du Konsolenzugang auf den Server? SSH z.B.?

Dann könntest du die MysQL-Datei hochladen und dann über die Konsole in die DB integrieren.
 
Nein, habe ich nicht. Das ist der Nachteil der normalen Provider..

Ich habe mir gerade gedacht, einfach über nacht ein PHP-Script laufen zu lassen, das in kleinen Teilen alles in die Datenbank schreibt.. oder gibt es noch eine bessere Möglichkeit?
 
Ohne Konsolen-Zugang fällt mir nur noch ein, ggf. nach einigen Operationen mal ein COMMIT abzusetzen, dann sollte der Server seinen Timeout wieder neu zählen.
 
Das Problem ist, dass du in PHP eine maximale exection time eines php-skripts hast.

Diesen Timeout kannst du nicht beeinflussen, da helfen keine Tricks.

Die meisten Hoster bieten ihren Kunden sowas wie "Confixx" an, dort gibt es eine Möglichkeit die DB über ein cgi skript wiederherzustellen. Das ist IMO die einzige Möglichkeit große DBs einzuspielen.
 
Das Problem ist, dass du in PHP eine maximale exection time eines php-skripts hast.

Diesen Timeout kannst du nicht beeinflussen, da helfen keine Tricks.

Die meisten Hoster bieten ihren Kunden sowas wie "Confixx" an, dort gibt es eine Möglichkeit die DB über ein cgi skript wiederherzustellen. Das ist IMO die einzige Möglichkeit große DBs einzuspielen.

Confixx haben die nicht.
Aber ich kann Lokal bei mir die "execution time" setzen.
Und zur Not mache ich es in eine Script, das immer nur ein Stückchen erledigt und sich dann selbst neu aufruft.
 
www.mysqldumper.de

Der macht genau das was Du vorschlägst Scope: Etappenweise sichern um die max. Ausführungszeit zu umgehen.

Kostet nichts und funktioniert super - ich nehme den mittlerweile nur noch.

2nd
 
  • Gefällt mir
Reaktionen: bjoern07 und scope
www.mysqldumper.de

Der macht genau das was Du vorschlägst Scope: Etappenweise sichern um die max. Ausführungszeit zu umgehen.

Kostet nichts und funktioniert super - ich nehme den mittlerweile nur noch.

2nd

Das klingt sehr gut, werde ich mir merken.
Für dieses Mal hat eine einfach Anfrage beim Support geholfen - die haben mir den Dump innerhalb einer Stunde direkt für mich eingepflegt.
 
Wenn Du Zugriff auf den Server über den Standard MySQl Port hast, könntest Du auch mysqldump dafür verwenden.
Wenn Du MySQL lokal installiert hast, befindest sich das Programm üblicherweise unter "/usr/local/mysql/bin//mysqldump".
(Edit: AFAIK gibt es auch eine reine Client Installation, die müsste eigentlich ausreichen.)

Das schöne an den mysql Standardtools ist, dass Du bei Bedarf eine komplette Datenbank (oder Teile davon) direkt von einem auf einen anderen Server "kopieren" kannst, ohne dass Du eine lokale Kopie anlegen musst.

BTW: bei was für einem Hoster bist Du?
 
all-inkl.com

Sehr zu empfehlen, wie mir diese prompte Hilfe wieder mal gezeigt hat.
 
all-inkl.com

Sehr zu empfehlen, wie mir diese prompte Hilfe wieder mal gezeigt hat.
Ja, und außerdem hast Du bei denen Zugriff auf den MySQL Server über das internet.
Mit anderen Worten, die von mir oben gepostete Lösung funktioniert bei denen ;).
 
Zurück
Oben Unten