Zur Navigation

Import und -Export größerer Forendatenbanken über SSH

1 Jörg Kruse

Zum Import und Export kleinerer Forendatenbanken (z.B. für einen Umzug oder für ein Backup) kann man auf das Datenbanktool phpMyAdmin zurückgreifen, welches entsprechende Funktionen bereithält. Auf PHP basierende Tools haben allerdings den Nachteil, dass es für PHP überlicherweise eine Laufzeitbegrenzung gibt, und es beim Import größerer Datenbanken zu einem Timeout kommen kann.

Wer einen Root- oder Virtual-Server hat oder einen Webspace mit SSH-Zugriff, kann die Datenbank auch über die Linux-Shell einspielen - dort gibt es solche Begrenzungen nicht.

Von einem Linux-PC kann man ganz einfach mit dem ssh Client auf dem Linux-Server eine Shell-Sitzung eröffnen:

ssh UserName@HostName

Danach wird man noch nach dem Passwort gefragt. den Usernamen, das Passwort und den Hostnamen müsst ihr entsprechend den Zugangsdaten für den SSH-Zugang setzen

Für Windows-PCs gibt es hierzu das Programm putty

Nach dem Login auf dem Server wechselt man in das Verzeichnis, in welches man die Datenbank-Dumps ablegen möchte, z.B. hier in das Verzeichnis dbdumps:

cd dbdumps

Falls noch nicht vorhanden, legt man das Verzeichnis vorher an:

mkdir dbdumps

Datenbank-Dump erstellen (exportieren)

Mit mysqldump kann man nun einen Dump der aktuellen Datenbank erstellen:

mysqldump --host=Host --user=UserName --password=Passwort DatenbankName > Forum.sql

Die markierten Namen ersetzt ihr durch die Datenbank-Zugangsdaten, die auch in der Konfigurationsdatei /includes/config.php angegeben sind. mysqldump erzeugt hierbei im selben Verzeichnis den Datenbank-Dump Forum.sql

Zum herunterladen kann man diese Datei noch komprimieren:

gzip Forum.sql

Das erzeugt eine komprimierte Datei Forum.sql.gz

Datenbank-Dump importieren:

Mit mysql kann man einen Dump auch wieder in die Datenbank schieben, hier die Datei Forum.sql im selben Verzeichnis:

mysql --host=Host --user=UserName --password=Passwort DatenbankName < Forum.sql

Eine komprimierte Datei muss vorher entpackt werden:

gunzip Forum.sql.gz

Am Ende wird eine Shell-Sitzung durch die Eingabe von "logout" beendet.

Wer eine große Datenbank aber keinen SSH-Zugriff hat, für den ist dieses Tool vielleicht etwas:

http://www.ozerov.de/bigdump.php

09.03.2010 01:03 | geändert: 09.03.2010 01:21

Nur Mitglieder können in diesem Forum Antworten schreiben.

Login | Registrieren