Keine Ahnung, welches Hosting-Paket zu dir passt? Zum Webhosting-Berater

Wie lassen sich MySQL Datenbanken importieren und exportieren?

Autor: Hosttest Redaktion   |10.11.2021

MySQL Datenbanken importieren & exportierenModerne Webseiten erzeugen ihren Inhalt dynamisch - das bedeutet, alle wichtigen Informationen sind in einer Datenbank hinterlegt. Einige Formate wie zum Beispiel SQLite speichern ihre Datensätze in einer einfachen Datei, die meisten jedoch hinterlegen sie wie MySQL und MariaDB ausschließlich im Arbeitsspeicher, um eine hohe Performance zu gewährleisten. Es ist dringend ratsam, diese in regelmäßigen Abständen durch Exportieren zu sichern, um bei unvorhergesehenen Schwierigkeiten - etwa einem Serverausfall durch Versagen der Hardware - alle Daten bis zu einem festen Zeitpunkt wiederherstellen zu können. Für das Anfertigen eines Back-ups zum Importieren bieten sich unterschiedliche Methoden und Verfahren an.

Wie funktioniert das Sichern einer MySQL oder MariaDB Datenbank?

Eine MySQL Datenbank besteht aus einer Reihe von Datensätzen, die sich anlegen, löschen, manipulieren und untereinander verknüpfen lassen. Eine Server-Anwendung verwaltet diese in einem festgelegten und geschützten Bereich im Arbeitsspeicher, so dass die aktuellen Informationen im laufenden Betrieb nicht in Form einer einzigen Datei vorliegen. Der Zugriff erfolgt über die bereits in den 1970er Jahren entstandene Datenbanksprache SQL, mit der sich einzelne Einträge oder vollständige Datensätze abfragen lassen.

MySQL und MariaDB speichern ihre Datensätze zwar ebenfalls auf Laufwerken, um sie zum Beispiel bei einem Neustart wieder einlesen zu können - dies geschieht jedoch in einem binär kodierten Format, das sich nicht zum Exportieren oder Importieren eignet. Um ein Back-up einer Datenbank oder eines gesamten Servers anzufertigen, müssen die Inhalte deshalb kollektiv abgefragt und in ein lesbares Format umgewandelt werden. Anschließend schreibt ein Hilfsprogramm diese in eine Datei, wo sie anschließend in einem universell verwendbaren Klartext vorliegen. Eine solche Datei ist weder an ein bestimmtes Betriebssystem noch an eine Softwareversion und - mit gewissen Einschränkungen - nicht einmal an ein Format wie MySQL, PostgreSQL, Oracle Database oder Microsoft SQL Server gebunden. Mit einem IDE PHP-Editor kann man meist ebenfalls eine lokale Datenbank erstellen und importieren.

Welche Verfahren bieten sich für das Exportieren einer Datenbank an?

Das regelmäßige Exportieren einer Datenbank stellt bis auf wenige Ausnahmen einen noch wichtigeren Schritt als das Back-up der Webseite dar - während sich eine Webseite auf der Basis eines Content Management System (CMS) in vielen Fällen rekonstruieren lässt, sind die hinterlegten Informationen einzigartig und lassen sich nicht wiederherstellen, sondern lediglich aus einem Back-up importieren. Für das Exportieren bieten sich unterschiedliche Wege an:

  • Direktes Exportieren über Befehle auf der Kommandozeile
  • Verwendung von Weboberflächen wie PhpMyAdmin oder Adminer
  • Oberflächen zur Administration von Servern wie Plesk, DirectAdmin oder WebMin
  • Bei einigen Anbietern über das Benutzerinterface des Kundenpaneels
  • Skripte in einer Programmiersprache wie Bash oder PHP

Bei einer näheren Betrachtung zeigt sich allerdings, dass der Schein aus technischer Sicht trügt: In der Tat operieren viele der oben genannten Methoden über die Kommandozeile oder stellen lediglich eine Maske beziehungsweise ein grafisches Interface für die manuelle Eingabe von Befehlen dar. Letztendlich erfolgt das Exportieren immer direkt über den Datenbankserver oder - in vielen Fällen - aus Gründen der Performance über zu ihm gehörende Tools auf der Kommandozeile wie mysqldump. Dieser Umstand ist ebenso naheliegend wie logisch, denn Programmiersprachen wie PHP besitzen keinen direkten Zugriff auf Datenbanken, sondern kommunizieren ausschließlich mit dem verantwortlichen Server.

Wie lassen sich Datenbanken über die Kommandozeile exportieren?

Die Kommandozeile bezeichnet bei Linux wie bei Windows eine sogenannte Shell oder ein Terminal: Es handelt sich um eine einzeilige Texteingabe, über die sich Befehle schreiben und ausführen und dadurch Server administrieren lassen. Virtuelle oder dedizierte Server unter Linux stellen grundsätzlich einen SSH Server zur Verfügung, der auf die Verbindung eines Clients wartet. Bei einem Webhosting hingegen hängt es von dem Anbieter ab, ob dieser seinen Kunden die Verwendung von ssh gestattet. Als Client eignet sich der Befehl ssh unter Linux oder Open Source Anwendungen wie PuTTY unter Microsoft Windows. Nach einer Verbindung reicht ein einziger Befehl, um eine Datenbank zu exportieren:

mysqldump -u User -p Passwort Datenbank > Dateiname.sql

Wichtig ist in diesem Fall, dass es sich um den Nutzer und das Passwort des Datenbankservers handelt, nicht um den gewöhnlichen Log-in. Über die Option - databases lassen sich auch mehrere Datenbanken gleichzeitig exportieren:

mysqldump -u User -p Passwort - databases Datenbank1 Datenbank2 > Dateiname.sql

Wer einen eigenen virtuellen oder dedizierten Server verwendet, kann auch alle Datenbanken auf einmal exportieren:

mysqldump -u root -p Passwort - all-databases > Dateiname.sql

Für das Importieren wiederum muss lediglich das Vergleichszeichen umgedreht werden, das die Ausgabe steuert. Im ersten Fall lenkt es diese in die Datei Dateiname.sql, zeigt es auf den Befehl, liest es aus der Datei und gibt die Daten an mysqldump weiter, so dass der Befehl für das Importieren nahezu identisch aussieht:

mysqldump -u User -p Passwort Datenbank < Dateiname.sql

In der Praxis sieht ein Exportieren oder Importieren zum Beispiel folgendermaßen aus:

mysqldump -u wp_domain -p 123456789 wp_data > Dateiname.sql

Wie lassen sich Datenbanken über phpMyAdmin und Adminer exportieren?

Sowohl phpMyAdmin wie Adminer bieten eine Option, über die sich Datenbanken direkt aus dem Webinterface exportieren und importieren lassen. Sie finden sich bei PhpMyAdmin nach dem Log-in als direkter Menüpunkt rechts neben den Nutzeraccounts und links neben den Einstellungen. Das Programm ermöglicht das Exportieren und Importieren in diversen Formaten, darunter neben der SQL Syntax auch LaTeX, CSV, PDF, PHP Array oder Microsoft Word 2000. Für die meisten Nutzer dürfte es ausreichen, die Schnelleinstellungen mit minimalen Optionen zu wählen. In diesem Fall beschränkt sich die Auswahl auf das Format der Datenbank - hier sollte SQL gewählt werden, das ein späteres Importieren in einen beliebigen Server mit SQL-Unterstützung ermöglicht. Die erweiterten Optionen sind für gewöhnliche Nutzer weitgehend uninteressant, die einzige Ausnahme stellt hier Ausgabe oder Output dar. Hier lässt sich zum Beispiel die verwendete Zeichenkodierung von dem Standard UTF-8 umstellen oder die Datei durch ZIP oder GZIP automatisch komprimieren, um umfangreiche Datenbanken in ihrer Größe deutlich zu reduzieren.

Wie phpMyAdmin stellt Adminer Optionen für das Importieren und Exportieren nach dem Log-in ebenfalls direkt auf seiner Startseite zur Verfügung - hier finden sie sich bei der Standardoberfläche auf der linken Seite direkt unter dem Titel Adminer und einem ausklappbaren Feld für die Wahl der Datenbank. Bei der Auswahl der Optionen zeigt sich das Tool etwas eingeschränkter als phpMyAdmin, bietet aber alle relevanten Möglichkeiten. Wesentliche Unterschiede bestehen ausschließlich darin, dass Adminer mit SQL, CSV und TSV lediglich drei verschiedene Formate unterstützt und als Komprimierung lediglich GZIP anbietet.

Beide Programme ermöglichen es ebenso unkompliziert, Datenbanken zu importieren. Zu beachten ist hier vor allem, dass die Größe der Datei durch PHP eingeschränkt sein kann. Es existieren verschiedene Wege, dieses Limit zu umgehen - sei es, indem das PHP Upload Limit global oder zum Beispiel in einer .htaccess lokal heraufgesetzt oder die Datei über FTP auf den Server geladen wird.

Foto: Gerd Altmann auf Pixabay

Schreibe einen Kommentar



Weitere Webhoster


Weitere interessante Artikel

Offene IT-Stellen
IT-Systemadminist...
IP-Projects GmbH & Co. KG
Aktuelle Ausschreibungen
Suche .io Domain
noch 6 Tage und 17 Stunden
Webspace, externe...
Vor kurzem Beendet
Domain Reselling,...
Vor kurzem Beendet
Webhosting mit Zi...
Vor kurzem Beendet
Neueste Bewertungen
Thomas R. hat RockingHoster Deutschland GmbH bewertet
Marvin H. hat Contabo GmbH bewertet
Silvio I. hat netcup bewertet
Maik hat Rainbow-Web.com bewertet
Cristiano hat SiteGround bewertet
Wolfgang B. hat SpeedIT Solutions bewertet
Frank E. hat Cloud86 bewertet
Alexander H. hat ServMedia.de bewertet
Johannes S. hat Contabo GmbH bewertet
Ralf B. hat Rainbow-Web.com bewertet
Markus W. hat lima-city bewertet
Holger W. hat LA Webhosting bewertet
Maik hat lima-city bewertet
Andrii S. hat united-domains AG bewertet
Michael K. hat IONOS bewertet
Stefan hat lima-city bewertet
Jörg B. hat Alfahosting GmbH bewertet
Philipp B. hat ServMedia.de bewertet
Silke W. hat Net-Build GmbH bewertet
Jörg W. hat STRATO AG bewertet

Wir konnten bereits Hunderttausenden Webmastern helfen den passenden Hosting-Anbieter zu finden.
Über hosttest

Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.

Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...