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 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: 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. 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: 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! Extrahieren eines MySQL-Dumps
MySQL-Dump-Datei importieren