Manuel Fuchs
Administrator
Beiträge: 502
Registriert: Mo Jul 05, 2004 12:25 am
Wohnort: Donaueschingen

SQL Dump File Splitter

Mi Jun 11, 2008 12:48 am

Jeder Webmaster kennt das Problem: ein Datenbank-Dump muss z.B. via phpmyadmin aufgespielt werden, jedoch ist der SQL Dump sehr groß. Das dauert dann normalerweise einfach nur ein bisschen. In speziellen Fällen gibt es aber Maximalgrößen für den Dump-Import. Diese Größen liegen (je nach Hoster und Server) normalerweise bei ca. 8MB - 32MB im Managed Server Segment.

Genau hier liegt das Problem. Wenn eine Datenbank mit mehreren 100 MB Größe aufgespielt werden soll - die maximale Dateigröße für den Import des MySQL Dumps aber z.B. bei nur 8MB liegt.

Ein Upload ist dann nicht bzw. nur durch den Hoster möglich.

Es gibt jede Menge Scripte, sog. "SQL Dump Splitter", mit deren Hilfe man eine übergroße Datenbank fachgerecht teilen und Stück für Stück uploaden kann. Für einen Kunden habe ich diese Woche ca. 20 dieser Scripte getestet. Das Resultat war ernüchternd: ich habe lediglich ein empfehlenswertes Tool gefunden, mit dessen Hilfe man einen Dump stresslos (!) splitten und uploaden (lassen) kann.

Der Dump Splitter namens "BigDump: Staggered MySQL Dump Importer" hat überragende Vorteile gegenüber allen getesteten Konkurrenz-Produkten: er besteht nur aus einer ca. 30 kb (!!!) großen PHP-Datei. Man ändert einfach die Server-Variablen:

$db_server = 'localhost';
$db_name = '';
$db_username = '';
$db_password = '';

ab und integriert die eigenen Zugangsdaten, so dass das Script den Dump in die richtige Datenbank importieren kann. Achtung: unbedingt den Datenbank-Namen kontrollieren, sonst könnten ggf. andere DBs auf demselben Server (sofern ein gleiches PW genutzt wird) überschrieben werden!

Die Bigdump-PHP-Datei wird dann zusammen mit dem DB-Dump einfach auf den Webspace per FTP hochgeladen.

Ein einfacher Aufruf unter http://www.domain.tld/bigdump.php reicht aus und mit nur einem Klick wird das Ganze importiert. Das Browserfenster sollte während des Imports nicht geschlossen werden. Sofern Fehlermeldungen auftreten, so sind diese entweder auf eine falsche Konfiguration (siehe obige Servervariablen) oder auf einen falsch erstellten Dump zurück zu führen. Das Script sollte i.d.R. absolut reibungsfrei laufen. Sofern der Upload unterbrochen wurde, so sollte man die DB, in die der Dump importiert werden soll, unbedingt nochmals manuell bereinigt werden.

Der Upload wird übrigens schön visualisiert - man sieht also immer, wieviel Zeit noch erforderlich ist, bis der Dump hochgeladen wurde.

Lange Rede, kurzer Sinn - hier ist der Link zum Bugdump Script:
[url=http://www.ozerov.de/bigdump.php]http://www.ozerov.de/bigdump.php[/url]

Have fun & enjoy! :-)

Beste Grüße,
Manuel

Zurück zu „Webmaster Forum“