SQL-Dump anlegen und einspielen

Werbung
Torsten Witt
MySQL
www.wissen4free.org
SQL-Dump anlegen und einspielen
Wer seine Datenbank sichern möchte, macht dies im klassischen Fall mit einem SQL-Dump. Ich
zeige verschiedene Wege diesen zu erzeugen und einzuspielen. Es kann sein, dass das Einspiele des
Dumps unter Umständen in einer ältern MySQL-Version problematisch ist.
Konsole
Wer MySQL fern administriert oder sonst der Konsole nicht abgeneigt ist findet hier den richtigen
Weg. Übrigens auch ideal um einen Cronjob/geplanten Task zu erzeugen.
Dump erstellen
Hierzu muss das Tool mysqlump zur Verfügung stehen. Dies wird in der Regel mitgeliefert.
Linux/Unix:
mysqldump --user=Username --password=Passwort Datenbankname > /Pfad/zu/Datei.sql
Windows:
mysqldump --user=Username --password=Passwort Datenbankname > c:\Pfad\zu\Datei.sql
Tipp:
Damit das Einspielen ohne Fehler abläuft, empfehle ich folgenden Aufruf, um einen erweiterten
Insert zu verhindern. Siehe dazu 3.1.Dump erstellen.
mysqldump --extended-insert=FALSE -c --user=Username --password=Passwort
Datenbankname > c:\Pfad\zu\Datei.sql
alle Datenbanken:
mysqldump --user=Username --password=Passwort -A > /Pfad/zu/Datei.sql
mehrere bestimmte Datenbanken:
mysqldump --user=Username --password=Passwort --databases Datenbank1 Datenbank2
Datenbank3 > /Pfad/zu/Datei.sql
Dump einspielen
Beim Einspielen sollte man vielleicht darauf achten, egal wie der Dump erstellt wurde, ob dabei
eine Datenbank angelegt wird oder nicht. Falls keine create database-Anweisung enthalten ist,
muss die Datenbank vorher angelegt werden.
mysql --user=Username --password=Passwort Datenbankname < c:\Pfad\zu\Datei.sql
Seite 1/3
Torsten Witt
MySQL
www.wissen4free.org
phpMyAdmin
Mittels phpMyAdmin ist es möglich den Dump und sonstige SQL-Abfragen (Insert, Updates,
Status, etc) bequem im Browser zu machen. In meinem Beispiel habe ich Version 3.2.4 verwendet.
Die Handhabung ist bei neueren Versionen genauso.
Achtung! Bei sehr großen Datenbanken, kann es zu einem Abbruch kommen, wenn die Laufzeit für
PHP-Anwendungen zu kurz konfiguriert ist. Standard sind 30 Sekunden.
Dump erstellen
Wechseln in das Menü Exportieren. Zunächst die Datenbank auswählen und die Standardeinstellung
SQL als Format sollte beibehalten werden. Wer bei der Auswahl der Datenbanken nur eine
Datenbank angezeigt bekommt anstatt alle, der muss vorher in die Gesamtübersicht wechseln.
Im Bereich Daten empfehle ich den Haken für Erweiterte INSERT´s zu entfernen. Der Hintergrund
ist, dass die MySQL-Konfigurationsvariable max_allowed_packet eventuell durch die aktuelle
Einstellung der Maximale Länge der Abfrage zu klein ist. Standardmäßig ist sie auf 1 MB gestellt.
Bei Importen von sehr großen Datenbanken kann dies zu viel sein, denn die Einstellung bewirkt,
dass alle Daten mittels einer einzigen SQL-Statement eingetragen werden.
Beim Bereich Senden, sollte Gzip-komprimiert gewählt werden. So wird die Datei möglichst klein.
Für die Zeichenkodierung empfehle ich UTF-8.
Dump einspielen
Zum Einspielen des Dumps muss in das Menü Importieren gewechselt werden.
Achtung!!! Es kann passieren, dass der Dump zu groß ist. Hier muss eventuell phpMyAdmin bzw.
PHP konfiguriert werden.
Tipp:
Es ist in der Regel unkomplizierte einen großen Dump zu erzeugen als ihn per phpMyAdmin
einzuspielen. Daher rate ich für ungeübte Nutzer zu folgender Kombination:
Seite 2/3
Torsten Witt
–
–
MySQL
www.wissen4free.org
Dump mit phpMyAdmin erstellen
über die Konsole zu importieren
Seite 3/3
Herunterladen