MySQL Datenbank über Konsole exportieren und importieren

Nicht immer geht es über eine hübsche Klicki-Bunti Oberflächen wie PhpMyAdmin oder Adminer, dass wir MySQL-Datenbanken (oder MariaDB-Datenbanken, die auf MySQL als Fork aufsetzen) exportieren und importieren können. Für kleine Datenbanken unter 20 MB groß mag dies vielleicht nocht gehen, aber bei bspw. 3GB wird es hier schon schwierig. Auch wenn Tools wie MySQLDumper schon sehr in die Jahre gekommen sind (die Meisten werden nicht mehr aktiv weiterentwickelt), aber dennoch funktionieren, gibt es eine einfachere Variante, sofern Zugriff auf die Konsole via SSH oder direkt besteht. 

Eine bestimmte MySQL Datenbank exportieren

mysqldump -u benutzername -p datenbankname > dump.sql

Die Struktur einer MySQL Datenbank mit exportieren

mysqldump -u benutzername -p --no-data datenbankname > dump.sql

Die Daten aus einer MySQL Datenbank exportieren

mysqldump -u benutzername -p --no-create-info datenbankname > dump.sql

Mehrere MySQL Datenbanken exportieren

mysqldump -u benutzername -p --databases datenbankname1 [datenbankname2 ...] > dump.sql

Alle MySQL Datenbanken exportieren

mysqldump -u benutzername -p --all-databases > dump.sql

MySQL Datenbanken importieren

mysql -u benutzername -p datenbankname < dump.sql

SQL-Dumps komprimieren

Da die SQL-Dumps sehr groß werden können und nur reiner Text sind, können sie sehr einfach auf einen Bruchteil mit einem Komprimierungsprogram wie gzip mit “gzip dump.sql” reduziert werden. Bei einem SQL-Dump von 2 GB, sind nach Komprimierung mit gzip nur noch knapp 175 MB übrig geblieben. Mit dem Programm gunzip können die Archive dann wieder entpacht werden: “gunzip dump.sql.gz”.

Ist der SQL-Dump erfolgreich exportiert und komprimiert kann er beispielsweise mittels SCP, SFTP oder vielen weiteren Möglichkeiten, wie auch dem Ablegen in einem Public-Verzeichnis, auf den Zielserver / Datenbank gelangen. Den Dump sollte man nur nicht im Public-Verzeichnis vergessen, sonst wird es peinlich.

Von | 2017-08-29T17:42:04+00:00 29. August 2017|Unix (Linux, Mac OS & Co.)|2 Kommentare

Über den Autor:

Ich bin ein technikbegeisterter Blogger, nebenberuflich (Fern-)Student der Wirtschaftsinformatik, hauptberuflicher Webentwickler und schreibe auf Bitpage.de gerne Technik-News, Tutorials und Reviews. Meine favorisierten Themen sind #Software, #Internet und digitale Fotografie.

2 Kommentare

  1. Matthias Aug 30, 2017 um 00:41 Uhr

    Ich packe die Dumps direkt beim Schreiben in gzip-Archive und entpacke dann auch live aus diesen um die Dumps zurück zu spielen. Spart jede Menge Platz auf der Festplatte 🙂

    mysqldump -u user -p database | gzip > database.sql.gz
    gunzip < database.sql.gz | mysql -u user -p database

  2. Tobo Sep 8, 2017 um 14:16 Uhr

    Vielen Dank für die Anleitung! Wir bauen gerade unsere Seite um und war genau das was wir gesucht haben

Hinterlasse einen Kommentar