Skip to main content

Was ist mysqldump und wie verwende ich es?

MySQL: Joins - Abfragen über mehrere Tabellen (deutsch) (April 2025)

MySQL: Joins - Abfragen über mehrere Tabellen (deutsch) (April 2025)
Anonim

Als eine der führenden frei verfügbaren Datenbanken ist MySQL eine beliebte Wahl für alle Arten von Webanwendungen. Da Ihre App dem Internet ausgesetzt ist, ist sie natürlich bösartigen Angriffen ausgesetzt. Wenn Ihr Server gefährdet ist, müssen Sie Ihre Anwendung am besten neu installieren. Im schlimmsten Fall können Sie Ihre Daten vollständig verlieren. Möglicherweise befinden Sie sich auch in einer Situation, in der Sie eine Datenbank von einem Server auf einen anderen migrieren müssen.

Wofür wird mysqldump verwendet?

Das mysqldump Werkzeug hat Sie für beide Situationen abgedeckt. Die grundlegende Funktion besteht darin, eine MySQL-Datenbank als "Textdatei" auszugeben. Aber nicht irgendeine Textdatei … die Datei ist eine Satz von SQL-Anweisungen. Wenn diese Anweisungen ausgeführt werden, wird Ihre Datenbank in dem Zustand neu erstellt, in dem sie sich befand, als Sie den Speicherauszug ausgeführt haben.

So kannst du verwenden mysqldump den Export einer Datenbank übernehmen. Dies kann zum Zweck von Sicherungen sein oder weil Sie die Datenbank auf einen neuen Host verschieben. In beiden Fällen wirst du irgendwann kommen einführen die Textdatei zurück in einen MySQL-Datenbankserver. Es werden alle SQL-Anweisungen in der Datei ausgeführt, wodurch Ihre Datenbank in den ursprünglichen Zustand versetzt wird. Dieser Teil verwendet nicht wirklich das mysqldump Befehl, aber ohne dieses Dienstprogramm wäre es auch nicht möglich!

In den MySQL-Dokumenten werden andere Methoden zum Erstellen von Sicherungen aufgeführt, die jedoch alle ihre eigenen Nachteile haben:

  • Das Kopieren einer Datenbank aus MySQL Enterprise ist eine großartige Möglichkeit, um diese Sicherungen zu erreichen … wenn Sie sich nicht für das Enterprise-Preisschild interessieren.
  • Das Kopieren der Datenverzeichnisse der Datenbank kann schwierig sein, wenn Sie sich zwischen Betriebssystemen bewegen, da ihre Ziele unterschiedlich sind.
  • Beim Exportieren in eine Textdatei mit Trennzeichen erhalten Sie den Inhalt. Sie müssen die Struktur jedoch selbst neu erstellen. Und du solltest es besser richtig machen …
  • Sie können Datenbanken häufig mit GUI-Programmen wie MySQL Workbench sichern. Dies ist jedoch ein manueller Prozess, d. H. Sie können kein Skript erstellen oder in einen Batch-Job integrieren.

Das mysqldump-Tool installieren

Wenn Sie an diesem Artikel interessiert sind, haben Sie wahrscheinlich bereits MySQL installiert. Wenn dem so ist, gute Nachrichten - haben Sie schon mysqldump! Wenn dies nicht der Fall ist, können Sie MySQL ganz einfach für Ihr Betriebssystem installieren.

Unter Windows finden Sie unsere Anweisungen zur Installation von MySQL unter Windows 7 (der Installationsprozess ist immer noch derselbe). Ebenso unter macOS finden Sie unsere Anweisungen zur Installation von MySQL unter macOS 10.7 (wieder älter, aber immer noch anwendbar). Benutzer von Ubuntu-basierten Linux-Systemen können den folgenden Befehl verwenden, um den MySQL-Client und die Hilfsprogramme zu installieren:

sudo apt Install MySQL-Client

Extrahieren eines MySQL-Dumps

Einmal installiert, können Sie verwenden mysqldump um eine vollständige Sicherung Ihrer Datenbank zu erhalten.

mysqldump -h Name oder DB Ihres DB-Hosts -u Name des DB-Benutzers -p Name der Datenbank> db_backup.sql

Brechen wir diesen Befehl ein wenig ab:

  • "-h": Dieses Flag ist die Datenbank Wirt. Es kann sich um einen vollständigen Hostnamen (z. B. myhost.domain.com) oder eine IP-Adresse handeln. Sie können dieses Feld auch leer lassen, wenn Sie es auf demselben Host wie der MySQL-Server ausführen.
  • "-u": Wie gesagt, das ist dein Nutzername.
  • "-p": Wenn Sie Ihre MySQL-Installation ordnungsgemäß gesichert haben, benötigen Sie eine Passwort verbinden. Dieses Flag ohne Argument fordert Sie zur Ausführung eines Befehls auf, wenn Sie den Befehl ausführen. Manchmal ist es nützlich, Ihr Kennwort direkt als Argument für dieses Flag anzugeben, beispielsweise in einem Sicherungsskript. Bei der Eingabeaufforderung sollten Sie dies jedoch nicht tun, denn wenn jemand Zugriff auf Ihren Computer erhalten hat, könnte er dieses Kennwort in Ihrem Befehlsverlauf erhalten.
  • "> db_backup.sql": Dieser letzte Teil erzählt mysqldump alle seine Ausgabe in eine Datei zu lenken. Normalerweise gibt der Befehl alles direkt an die Konsole aus, was bedeutet, dass eine Reihe von SQL-Anweisungen vorbeifliegen. Stattdessen ist das Symbol *> * ein Zeichen, um all diese Dinge in die benannte Textdatei zu leiten. Wenn diese Datei nicht existiert, wird sie automatisch erstellt.

Wenn es fertig ist, haben Sie eine .SQL-Datei. Dies ist nur eine Textdatei, die SQL-Anweisungen enthält. Sie können es in einem beliebigen Texteditor öffnen, um den Inhalt zu überprüfen. Wenn Sie einen Export aus einer WordPress-Datenbank betrachten, können Sie sehen, wie diese Dateien zusammengefügt werden.

Die Datei ist in Abschnitte unterteilt. Im obigen Bild sehen wir, dass der erste Abschnitt die Tabelle für WordPress-Kommentare einrichtet. Der zweite Abschnitt erstellt dann den Inhalt (d. H. Kommentarsätze) neu, der in diesen Tabellen enthalten war. Wenn Sie Ihren MySQL-Dump erneut importieren, führt der Befehl die Datei aus, führt die Anweisungen aus und erstellt Ihre Datenbank genau so, wie sie war. Wie machst du das? Lass uns einen Blick darauf werfen.

MySQL-Dump-Datei importieren

Bevor Sie dies tun können, benötigen Sie eine bereits erstellte Datenbank und einen gültigen Benutzernamen und ein gültiges Kennwort. Sie sollten auch über alle Berechtigungen für die Datenbank verfügen. (Streng genommen brauchen Sie das nicht GEWÄHREN Berechtigung, aber es ist einfacher, sie alle zu erteilen.) Einzelheiten zu Datenbankberechtigungen finden Sie in diesem Artikel.

Gehen Sie folgendermaßen vor, um Ihre Daten erneut zu importieren:

  1. Melden Sie sich mit dem MySQL-Server an Mysql Befehl.
  2. Art benutze Datenbankname Geben Sie an der Eingabeaufforderung den entsprechenden Namen der Datenbank ein.
  3. Eingeben Quelle DateinameErsetzen Sie den Namen der zuvor erstellten Dump-Datei.

Wenn Sie fertig sind, wird eine lange Liste mit Nachrichten angezeigt, die Sie darüber informieren, dass SQL-Anweisungen ausgeführt werden. Achten Sie auf Fehler, aber wenn Sie über die richtigen Berechtigungen verfügen, sollten Sie dies als leere Datenbank bezeichnen.

Sobald der Vorgang abgeschlossen ist, haben Sie ein Duplikat Ihrer ursprünglichen Datenbank. Sie können dies überprüfen, indem Sie einen weiteren Speicherauszug durchführen und die beiden Ausgaben vergleichen. Ein anständiger Texteditor kann dies für Sie tun, oder ein spezielles * diff * -Tool wie das in der folgenden Abbildung gezeigte:

Es gibt nur zwei Unterschiede zwischen diesen Dateien, die durch rote Linien ganz oben und unten in der rechten Bildlaufleiste dargestellt werden. Die erste ist die Zeile, die den Datenbanknamen enthält, und wir erwarten, dass dies anders ist, weil wir sie anders benannt haben. Der zweite ist am Ende der Zeitstempel für die Dump-Datei. Und wir erwarten auch, dass dies anders ist, da wir die zweite Datenbank nach der ersten Datenbank neu erstellt haben. Ansonsten sind die Dateien genau gleich, dh die Datenbanken, die sie erstellt haben, sind ebenfalls!