Importieren und Exportieren von Datenbanken in MySQL oder MariaDB

Einführung

Das Importieren und Exportieren Ihrer Datenbank ist eine wichtige Fähigkeit. Sie können Datensicherungen für Sicherungs- und Wiederherstellungszwecke verwenden, um im Notfall ältere Kopien Ihrer Datenbank wiederherzustellen. Sie können sie auch zum Migrieren von Daten auf einen neuen Server oder eine neue Entwicklungsumgebung verwenden.

Das Arbeiten mit Datenbank-Dumps in MySQL und MariaDB ist ziemlich einfach. In diesem Tutorial erfahren Sie, wie Sie die Datenbank exportieren und aus einer Speicherauszugsdatei in MySQL und MariaDB importieren.

Voraussetzungen

Zum Importieren und / oder Exportieren einer MySQL- oder MariaDB-Datenbank benötigen Sie:

  • Zugriff auf einen Linux-Server mit MySQL oder MariaDB

  • Der Datenbankname und die Benutzeranmeldeinformationen dafür

Exportieren der Datenbank

Das Konsolendienstprogrammmysqldumpwird zum Exportieren von Datenbanken in SQL-Textdateien verwendet, wodurch das Übertragen und Verschieben relativ einfach ist. Sie benötigen den Datenbanknamen selbst sowie den Benutzernamen und das Kennwort für ein Konto mit Berechtigungen, die mindestens vollständigen Lesezugriff auf die Datenbank ermöglichen.

Exportieren Sie Ihre Datenbank mit der folgenden Befehlsstruktur:

mysqldump -u username -p database_name > data-dump.sql
  • username ist der Benutzername, mit dem Sie sich bei der Datenbank anmelden können

  • database_name ist der Name der Datenbank, die exportiert wird

  • data-dump.sql ist die Datei im aktuellen Verzeichnis, in der die Ausgabe gespeichert wird

Der Befehl erzeugt keine visuelle Ausgabe. Sie können jedoch den Inhalt vonfilename.sql überprüfen, um zu überprüfen, ob es sich um eine legitime SQL-Dump-Datei handelt, indem Sie den folgenden Befehl ausführen:

head -n 5 data-dump.sql

Der obere Rand der Datei sollte ähnlich aussehen und zeigen, dass es sich um einen MySQL-Speicherauszug für eine Datenbank mit dem Namendatabase_name handelt.

SQL dump fragment-- MySQL dump 10.13  Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost    Database: database_name
-- ------------------------------------------------------
-- Server version       5.7.16-0ubuntu0.16.04.1

Wenn während des Exportvorgangs Fehler auftreten, werden diese vonmysqldump deutlich auf dem Bildschirm gedruckt.

Datenbank importieren

Um eine vorhandene Dump-Datei in MySQL oder MariaDB zu importieren, müssen Sie die neue Datenbank erstellen. Hier wird der Inhalt der Dump-Datei importiert.

Melden Sie sich zunächst alsroot oder ein anderer Benutzer mit ausreichenden Berechtigungen zum Erstellen neuer Datenbanken bei der Datenbank an:

mysql -u root -p

Dadurch gelangen Sie zur MySQL-Shell-Eingabeaufforderung. Erstellen Sie als Nächstes eine neue Datenbank mit dem folgenden Befehl. In diesem Beispiel heißt die neue Datenbanknew_database:

CREATE DATABASE new_database;

Sie sehen, dass diese Ausgabe bestätigt, dass sie erstellt wurde.

OutputQuery OK, 1 row affected (0.00 sec)

Beenden Sie dann die MySQL-Shell, indem SieCTRL+D drücken. Über die normale Befehlszeile können Sie die Sicherungsdatei mit dem folgenden Befehl importieren:

mysql -u username -p new_database < data-dump.sql
  • username ist der Benutzername, mit dem Sie sich bei der Datenbank anmelden können

  • newdatabase ist der Name der frisch erstellten Datenbank

  • data-dump.sql ist die zu importierende Daten-Dump-Datei im aktuellen Verzeichnis

Wenn der Befehl erfolgreich ausgeführt wird, wird keine Ausgabe erstellt. Wenn während des Vorgangs Fehler auftreten, drucktmysql diese stattdessen auf das Terminal. Sie können überprüfen, ob die Datenbank importiert wurde, indem Sie sich erneut bei der MySQL-Shell anmelden und die Daten überprüfen. Dies kann erreicht werden, indem Sie die neue Datenbank mitUSE new_database auswählen und dannSHOW TABLES; oder einen ähnlichen Befehl verwenden, um einige der Daten anzuzeigen.

Fazit

Sie wissen jetzt, wie Sie Datenbank-Dumps aus MySQL-Datenbanken erstellen und diese erneut importieren können. mysqldump verfügt über mehrere zusätzliche Einstellungen, mit denen Sie ändern können, wie die Speicherauszüge erstellt werden. Weitere Informationen finden Sie unterofficial mysqldump documentation page.