Dieser Artikel zeigt die richtige Methode zum Sichern und Wiederherstellen der MySQL-Datenbank von der Befehlszeile in Linux mithilfe der mysqldump- und mysql-Befehle.
Wenn Sie MySQL- oder MariaDB-Datenbanken verwenden, ist es sehr wichtig, dass Sie verstehen, wie Sie Daten sichern und wiederherstellen. Darüber hinaus müssen Sie regelmäßige Backups der Datenbank erstellen, damit Sie Ihre Daten wiederherstellen können, wenn Ihre Anwendung abstürzt oder die Daten durch einen Systemausfall beschädigt werden.
MySQL und MariaDB enthalten Befehlszeilentools, mit denen Sie Datenbanken schnell und einfach sichern und wiederherstellen können. Der mysqldump
Tool wird verwendet, um den Inhalt einer Datenbank in eine Textdatei zu exportieren, während das mysql
Client kann verwendet werden, um Daten aus einer Textdatei in eine MySQL/MariaDB-Datenbank zu importieren.
Verwendung des MySQL-Dump-Befehls
Der mysqldump
Befehlszeilendienstprogramm exportiert Datenbanken in SQL-Textdateien. Mit anderen Worten, es wird zum Erstellen des MySQL-Datenbank-Dumps verwendet.
Die Syntax für mysqldump
Befehl ist unten angegeben:
mysqldump -u [username] -p [database_name] > [filename].sql
Wo:
- Benutzername ist Ihr MySQL/MariaDB-Benutzername.
- -p Passwort für diesen Benutzer abfragen.
- Datenbankname ist der Name der Datenbank, die Sie sichern möchten.
- Dateiname.sql ist der vollständige Pfad zur SQL-Dump-Datei, die die Sicherung enthalten wird.
Datenbankprozeduren, Funktionen, Ansichten und Ereignisse werden zum Zeitpunkt der Sicherung ausgegeben.
mysqldump:Eine einzelne MySQL-Datenbank sichern
In diesem Beispiel heißt die Datenbank my_wordpress
. Ersetzen Sie dies durch den Namen der Datenbank, die Sie exportieren möchten. Gemäß der Syntax wird die Sicherungsdatei am aktuellen Speicherort erstellt.
mysqldump -u root -p my_wordpress > my_wordpress_backup.sql
Nachdem der Befehl ausgeführt wurde, geben Sie Ihr MySQL-Root-Passwort ein.
Dadurch wird eine MySQL-Dump-Datei mit dem Namen my_wordpress_backup.sql
erstellt die alle SQL-Anweisungen zum Erstellen von Tabellen und Wiederherstellen von Daten in einer vorhandenen Datenbank enthält. Wenn während des Exportvorgangs Fehler auftreten, mysqldump
wird sie auf dem Bildschirm ausgeben.
Der Befehl erzeugt keine visuelle Ausgabe, aber Sie können den Inhalt von my_wordpress_backup.sql
überprüfen Verwenden Sie den Head-Befehl, um zu überprüfen, ob es sich um eine legitime MySQL-Dump-Datei handelt.
head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)
-- Host: localhost Database: my_wordpress
-- Server version 10.3.27-MariaDB-0+deb10u1
mysqldump:Mehrere MySQL-Datenbanken sichern
Um mehrere MySQL-Datenbanken mit einem Befehl zu sichern, müssen Sie die --databases
verwenden gefolgt von der Liste der Datenbanken, die Sie sichern möchten. Außerdem können Sie die Ergebnisdatei an einem Ort Ihrer Wahl ablegen.
Führen Sie den folgenden Befehl aus, um eine MySQL-Dumpdatei my_backup.sql
zu erstellen in /home/backups
Verzeichnis zweier Datenbanken mit dem Namen my_wordpress
und ftpusers
.
mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql
mysqldump:Alle MySQL-Datenbanken sichern
Verwenden Sie die --all-databases
Option zum Sichern aller MySQL-Datenbanken:
mysqldump -u root -p --all-databases > all_db_backup.sql
So erstellen Sie eine komprimierte MySQL-Datenbanksicherung
Wenn die Datenbankgröße sehr groß ist, empfiehlt es sich, die Ausgabe zu komprimieren. Leiten Sie dazu einfach die Ausgabe an das gzip
weiter Befehl und leiten Sie ihn wie unten gezeigt in eine Datei um:
mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz
mysql:Stellen Sie MySQL aus einer MySQL-Dump-Datei wieder her
Zum Wiederherstellen einer mit mysqldump
erstellten Sicherung , müssen Sie das mysql
verwenden Befehl.
mysql -u [username] -p [database_name] < [filename].sql
Wo
- Benutzername ist Ihr MySQL/MariaDB-Benutzername.
- -p Passwort für diesen Benutzer abfragen.
- Datenbankname ist der Name der Datenbank, in der Sie wiederherstellen möchten.
- Dateiname.sql ist der vollständige Pfad zur SQL-Dump-Datei, die die Sicherung enthält.
mysql:Einzelne MySQL-Datenbank wiederherstellen
Sie können alle Tabellen aus der MySQL-Dump-Datei einer bestimmten Datenbank wiederherstellen.
Die Wiederherstellung wird einfach mit dem folgenden Befehl durchgeführt, wo wir wieder einen Benutzer angeben und zur Eingabe eines Passworts aufgefordert werden und die my_wordpress_backup.sql
übergeben Datei in die Datenbank my_wordpress
.
mysql -u root -p my_wordpress < my_wordpress_backup.sql
Sie werden nach dem Passwort Ihres MySQL-Benutzers gefragt.
Sobald dies abgeschlossen ist, sollte die Datenbank in der laufenden Instanz von MySQL verfügbar sein. Die MySQL-Dump-Datei, aus der Sie importiert haben, ist ebenfalls noch vorhanden, sodass Sie diese an dieser Stelle entweder sicher speichern oder löschen können, wenn sie nicht mehr benötigt wird.
mysql:Alle MySQL-Datenbanken wiederherstellen
Sie können alle Datenbanken eines beliebigen MySQL-Servers aus einer MySQL-Dump-Datei auf einem anderen MySQL-Server wiederherstellen.
mysql -u root -p < all_db_backup.sql
Fazit
Jetzt können Sie Ihre Datenbankdateien regelmäßig sichern und die Daten bei Bedarf wiederherstellen, indem Sie die obigen Schritte befolgen.
Dieses Tutorial gilt auch, wenn Sie auf einen neuen Server migrieren möchten. Sichern Sie einfach die Datenbank auf Ihrem alten Server und laden Sie die MySQL-Dump-Datei auf den neuen Server hoch. Erstellen Sie eine Zieldatenbank auf dem neuen Server und führen Sie dann die hochgeladene MySQL-Dump-Datei in der neuen Datenbank aus. Außerdem sollten Sie Benutzer und Berechtigungen vom alten MySQL-Server auf dem neuen neu erstellen.
Für detailliertere Informationen finden Sie hier den Link zur offiziellen Dokumentation.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.