Sie sind hier: Anleitungen Linux MySQL: Große Datenbank ex- und importieren

MySQL: Große Datenbank ex- und importieren

MySQL: große Datenbank ex- und importieren, Bild 1
MySQL: Große Datenbank ex- und importieren, Bild 2
Wer mit großen Datenbanken jonglieren muss hat es oft nicht leicht: entweder man exportiert diese zerstückelt unter phpMyAdmin oder greift auf eine externe Software zurück. Beim importieren dann wieder dasselbe Problem: PHP bricht die AKtion wegen Zeitüberschreitung ab. Das alles muss nicth sein, zumindest wenn man Root-Zugriff hat. Wie Sie das ganze ohne Probleme lösen erfahren Sie im Artikel!

phpMyAdmin: Timeout und andere Beschränkungen

In phpMyAdmin gibt es einige Beschränkungen: zum einen ist die Größe der maximal zu exportierenden oder importierenden Datenbank begrenz, zum anderen kann es zu einem Timeout kommen.

Nun könnte man in den jeweiligen Konfigurationsdateien ja das Limit hochsetzen. Das ist aber auch keine Lösung, wenn man noch andere Benutzer (zum Beispiel Kunden) auf dem gleichen Server hostet. Das Problem lässt sich aber recht einfach lösen. Alles, was Sie dazu benötigen, ist folgendes:
  • Root Zugang
  • Eine Shell/passenden Client (z.B. Putty)
  • Je nach Größe der Datenbank etwas Zeit
Legen wir also gleich los mit dem exportieren bzw. importieren einer Datenbank in MySQL!

Anzeige

Tutorial: MySQL Datenbank exportieren

Zunächst müssen Sie sich als Root an Ihrem Server anmelden. Danach geben Sie einfach den nachfolgenden Befehl ein:
mysqldump -h localhost -u root -p --database datenbank > /pfad/datenbank.sql
Hier gilt es zu beachten, dass es sich bei "datenbank" um die zu exportierende Datenbank handelt. Mit "/pfad/datenbank.sql" geben Sie den Pfad sowie den Namen der Datei an.

Schon haben Sie die Datenbank exportiert! Wenn diese bei einem zweiten Server wieder eingespielt werden soll, wenden wir einen Trick an - dazu ist aber ein Root Zugang unersätzlich. Haben Sie auf dem zweiten System keinen Root-Zugang, so reicht es, das Backup herunter- und auf Server #2 heraufzuladen.
Eine kurz E-Mail an Ihren Hoster sollte reichen, damit dieser die expotierte Datenbank im neuen System importiert.

Tutorial: MySQL Datenbank importieren

Jetzt zu unserem "Trick". Damit wir die (möglicherweise) sehr große Datei nicht herunter- und wieder heraufladen müssen, verwenden wir das Programm "rsync", um die Datei zwischen 2 Servern zu verteilen.
  1. Dazu laden Sie zunächst rsync herunter bzw. installieren es. Unter Debian geht das wie folgt:
  2. apt-get install rsync
    Wichtig: rsync muss auf beiden Systemen installiert werden!
  3. Auf dem Zielrechner öffnen wir eine Shell und melden uns als Root an. Mit folgendem Befehl laden Sie das Datenbank-Backup von Server #1 auf Server #2:
  4. rsync -avzbe ssh root@ip_des_quellrechners:/root/datenbank.sql /root
    Wir übertragen hier also die Datei "datenbank.sql" vom ersten Server (demjenigen, wo wir die Datenbank exportiert haben) und übertragen diese ins das Verzeichnis "/root" auf Server #2.
    Sie werden nach dem Root-Passwort von Server #1 gefragt - danach überträgt Server #2 auch schon fleißig die Datei (siehe Bild 2)!
  5. Sie haben im Verzeichnis "/root" jetzt also die Datei "datenbank.sql".
  6. diese importieren wir jetzt in die bestehende, aber leere Datenbank:
  7. mysql --host=localhost --user=root --password=ihr_passwort datenbankname < /root/datenbank.sql
    Auch das kann wieder ein wenig dauern.
    Danach sollte alles fertig sein!

Anmerkungen

Das ist noch kein Garant dafür, dass auf dem neuen System alles funktioniert wie auf dem ersten. Aber diese Anleitung zeigt Ihnen zumindest, wie Sie sich die Arbeit erleichtern können - auch, wenn sicher noch einiges an Feintuning an der verwendeten Software nötig ist (z.B. in den Config-Files).

Hinterlassen Sie - wie gewöhnlich - bei Problemen, Wünschen etc. einen Kommentar!



Kommentar schreiben


Sicherheitscode
Aktualisieren

Gastartikel und Sponsoren

SmashingWeb.de sucht ständig Sponsoren und Werbepartner. Sollten Sie Interesse an einer Werbefläche haben, so finden sie unter Hier werben! mehr Informationen.
Haben Sie Interesse daran, einen Gastartikel auf SmashingWeb.de zu veröffentlichen? Dann erfahren Sie mehr unter Gastautoren gesucht.