Migrieren der MySQL-Datenbank durch Import und ExportMigrate your MySQL database by using import and export

In diesem Artikel werden zwei gängige Vorgehensweisen beim Importieren von Daten zu bzw. Exportieren von Daten von einem Server für Azure-Datenbank für MySQL mithilfe von MySQL Workbench erläutert.This article explains two common approaches to importing and exporting data to an Azure Database for MySQL server by using MySQL Workbench.

VoraussetzungenBefore you begin

Zum Ausführen der Schritte in dieser Anleitung benötigen Sie Folgendes:To step through this how-to guide, you need:

Verwenden von gängigen ToolsUse common tools

Mithilfe von gängigen Tools wie MySQL Workbench, Toad oder Navicat können Sie eine Remoteverbindung zu Azure-Datenbank für MySQL herstellen und Daten importieren oder exportieren.Use common tools such as MySQL Workbench, Toad, or Navicat to remotely connect and import or export data into Azure Database for MySQL.

Verwenden Sie diese Tools auf Ihrem Clientcomputer mit Internetverbindung, um eine Verbindung mit Azure-Datenbank für MySQL herzustellen.Use such tools on your client machine with an Internet connection to connect to Azure Database for MySQL. Verwenden Sie eine SSL-verschlüsselte Verbindung gemäß den bewährten Sicherheitsmethoden; eine Beschreibung finden Sie in Konfigurieren von SSL-Konnektivität in Azure-Datenbank für MySQL.Use an SSL-encrypted connection for best security practices, as described in Configure SSL connectivity in Azure Database for MySQL.

Bei der Migration auf Azure-Datenbank für MySQL müssen Sie Ihre Import- und Exportdateien nicht in einen bestimmten Cloudspeicherort verschieben.You do not need to move your import and export files to any special cloud location when migrating to Azure Database for MySQL.

Erstellen einer Datenbank auf dem Server für Azure-Datenbank für MySQLCreate a database on the Azure Database for MySQL server

Erstellen Sie eine leere Datenbank auf dem Server für Azure-Datenbank für MySQL, zu dem Sie die Daten migrieren möchten.Create an empty database on the Azure Database for MySQL server where you want to migrate the data. Verwenden Sie ein Tool wie MySQL Workbench, Toad oder Navicat zum Erstellen der Datenbank.Use a tool such as MySQL Workbench, Toad, or Navicat to create the database. Die Datenbank kann denselben Namen aufweisen wie die Datenbank, die die Sicherungsdaten enthält, Sie können aber auch eine Datenbank mit einem anderen Namen erstellen.The database can have the same name as the database that contains the dumped data, or you can create a database with a different name.

Ermitteln Sie zum Herstellen der Verbindung die Verbindungsinformationen in der Übersicht Ihrer Azure Database for MySQL-Instanz.To get connected, locate the connection information in the Overview of your Azure Database for MySQL.

Ermitteln der Verbindungsinformationen im Azure-Portal

Fügen Sie die Verbindungsinformationen in MySQL Workbench hinzu.Add the connection information to MySQL Workbench.

MySQL Workbench-Verbindungszeichenfolge

Ermitteln der Fälle, in denen Import- und Exportverfahren anstelle von Sicherung und Wiederherstellung zu verwenden sindDetermine when to use import and export techniques instead of a dump and restore

Verwenden Sie in den folgenden Szenarien MySQL-Tools zum Importieren und Exportieren von Datenbanken in Azure MySQL-Datenbank.Use MySQL tools to import and export databases into Azure MySQL Database in the following scenarios. In anderen Szenarien empfiehlt es sich möglicherweise, den Ansatz Sichern und Wiederherstellen zu verfolgen.In other scenarios, you might benefit from using the dump and restore approach instead.

  • Wenn Sie selektiv einige Tabellen zum Importieren aus einer vorhandenen MySQL-Datenbank in Azure MySQL-Datenbank auswählen, empfiehlt es sich, das Import- und Exportverfahren zu nutzen.When you need to selectively choose a few tables to import from an existing MySQL database into Azure MySQL Database, it's best to use the import and export technique. Damit können Sie nicht benötigte Tabellen aus der Migration ausschließen und auf diese Weise Zeit und Ressourcen sparen.By doing so, you can omit any unneeded tables from the migration to save time and resources. Verwenden Sie beispielsweise den Schalter --include-tables oder --exclude-tables mit mysqlpump und den Schalter --tables mit mysqldump.For example, use the --include-tables or --exclude-tables switch with mysqlpump and the --tables switch with mysqldump.
  • Wenn Sie andere Datenbankobjekte als Tabellen verschieben, müssen Sie diese Objekte explizit erstellen.When you're moving the database objects other than tables, explicitly create those objects. Schließen Sie Einschränkungen (Primärschlüssel, Fremdschlüssel, Indizes), Sichten, Funktionen, Prozeduren, Trigger und andere Datenbankobjekte ein, die migriert werden sollen.Include constraints (primary key, foreign key, indexes), views, functions, procedures, triggers, and any other database objects that you want to migrate.
  • Erstellen Sie beim Migrieren von Daten aus anderen externen Datenquellen als einer MySQL-Datenbank Flatfiles, und importieren Sie diese mithilfe von mysqlimport.When you're migrating data from external data sources other than a MySQL database, create flat files and import them by using mysqlimport.

Stellen Sie sicher, dass für alle Tabellen in der Datenbank die InnoDB-Speicher-Engine verwendet wird, wenn Sie Daten in Azure Database for MySQL laden.Make sure that all tables in the database use the InnoDB storage engine when you're loading data into Azure Database for MySQL. Azure Database for MySQL unterstützt nur die InnoDB-Speicher-Engine und bietet keine Unterstützung für alternative Speicher-Engines.Azure Database for MySQL supports only the InnoDB storage engine, so it doesn't support alternative storage engines. Wenn Ihre Tabellen alternative Speicher-Engines erfordern, müssen Sie sie so konvertieren, dass sie das Format der InnoDB-Engine verwenden, ehe Sie die Migration zu Azure Database for MySQL ausführen.If your tables require alternative storage engines, be sure to convert them to use the InnoDB engine format before the migration to Azure Database for MySQL.

Angenommen, Sie verfügen über eine WordPress- oder Web-App, die die MyISAM-Engine verwendet. In diesem Fall müssen Sie erst die Tabellen konvertieren, indem Sie die Daten in InnoDB-Tabellen migrieren.For example, if you have a WordPress or web app that uses the MyISAM engine, first convert the tables by migrating the data into InnoDB tables. Führen Sie anschließend eine Wiederherstellung in Azure-Datenbank für MySQL aus.Then restore to Azure Database for MySQL. Verwenden Sie die ENGINE=INNODB-Klausel, um die Engine festzulegen, mit der eine Tabelle erstellt wird, und übertragen Sie die Daten vor der Migration in die kompatible Tabelle.Use the clause ENGINE=INNODB to set the engine for creating a table, and then transfer the data into the compatible table before the migration.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Leistungsbezogene Empfehlungen für Import und ExportPerformance recommendations for import and export

  • Erstellen Sie vor dem Laden von Daten gruppierte Indizes und Primärschlüssel.Create clustered indexes and primary keys before loading data. Laden Sie Daten in der Reihenfolge des Primärschlüssels.Load data in primary key order.
  • Verzögern Sie die Erstellung sekundärer Indizes, bis die Daten vollständig geladen wurden.Delay creation of secondary indexes until after data is loaded. Erstellen Sie alle sekundären Indizes nach dem Laden.Create all secondary indexes after loading.
  • Deaktivieren Sie vor dem Laden Fremdschlüsseleinschränkungen.Disable foreign key constraints before loading. Das Deaktivieren von Fremdschlüsselüberprüfungen führt zu erheblichen Leistungssteigerungen.Disabling foreign key checks provides significant performance gains. Aktivieren Sie die Einschränkungen, und überprüfen Sie die Daten nach dem Laden, um die referentielle Integrität sicherzustellen.Enable the constraints and verify the data after the load to ensure referential integrity.
  • Laden Sie Daten parallel.Load data in parallel. Vermeiden Sie zu viel Parallelität, da dies zum Erreichen eines Ressourcenlimits führen kann, und überwachen Sie die Ressourcen mit den Metriken, die im Azure-Portal verfügbar sind.Avoid too much parallelism that would cause you to hit a resource limit, and monitor resources by using the metrics available in the Azure portal.
  • Verwenden Sie ggf. partitionierte Tabellen.Use partitioned tables when appropriate.

Importieren und Exportieren mit MySQL WorkbenchImport and export by using MySQL Workbench

Es gibt zwei Möglichkeiten für den Export und Import von Daten in MySQL Workbench.There are two ways to export and import data in MySQL Workbench. Jede dient jeweils zu einem anderen Zweck.Each serves a different purpose.

Assistenten zum Exportieren und Importieren von Tabellendaten im Kontextmenü des ObjektkatalogsTable data export and import wizards from the object browser's context menu

MySQL Workbench-Assistenten im Kontextmenü des Objektkatalogs

Die Assistenten für Tabellendaten unterstützen Import- und Exportvorgänge unter Verwendung von CSV- und JSON-Dateien.The wizards for table data support import and export operations by using CSV and JSON files. Sie bieten eine Reihe von Konfigurationsoptionen, beispielsweise Trennzeichen, Spaltenauswahl und Codierungsauswahl.They include several configuration options, such as separators, column selection, and encoding selection. Sie können jeden Assistenten für lokal oder remote verbundene MySQL-Server ausführen.You can perform each wizard against local or remotely connected MySQL servers. Die Importaktion schließt die Tabellen-, Spalten- und Typzuordnung ein.The import action includes table, column, and type mapping.

Sie können auf diese Assistenten über das Kontextmenü des Objektkatalogs zugreifen; dieses rufen Sie auf, indem Sie mit der rechten Maustaste auf eine Tabelle klicken.You can access these wizards from the object browser's context menu by right-clicking a table. Wählen Sie anschließend entweder Assistent zum Exportieren von Tabellendaten oder Assistent zum Importieren von Tabellendaten aus.Then choose either Table Data Export Wizard or Table Data Import Wizard.

Assistent zum Exportieren von TabellendatenTable Data Export Wizard

Im folgenden Beispiel wird die Tabelle in eine CSV-Datei exportiert:The following example exports the table to a CSV file:

  1. Klicken Sie mit der rechten Maustaste auf die Tabelle der zu exportierenden Datenbank.Right-click the table of the database to be exported.
  2. Wählen Sie Assistent zum Exportieren von Tabellendaten aus.Select Table Data Export Wizard. Wählen Sie die zu exportierenden Spalten, den Zeilenoffset (sofern vorhanden) und die Anzahl (sofern vorhanden) aus.Select the columns to be exported, row offset (if any), and count (if any).
  3. Klicken Sie auf der Seite Auswählen der zu exportierenden Daten auf Weiter.On the Select data for export page, click Next. Wählen Sie den Dateipfad sowie den Dateityp CSV oder JSON aus.Select the file path, CSV, or JSON file type. Wählen Sie darüber hinaus das Zeilentrennzeichen, die Methode zum Einschließen von Zeichenfolgen sowie das Feldtrennzeichen aus.Also select the line separator, method of enclosing strings, and field separator.
  4. Klicken Sie auf der Seite Select output file location (Speicherort der Ausgabedatei auswählen) auf Weiter.On the Select output file location page, click Next.
  5. Klicken Sie auf der Seite Daten exportieren auf Weiter.On the Export data page, click Next.

Assistent zum Importieren von TabellendatenTable Data Import Wizard

Im folgenden Beispiel wird die Tabelle aus einer CSV-Datei importiert:The following example imports the table from a CSV file:

  1. Klicken Sie mit der rechten Maustaste auf die Tabelle der zu importierenden Datenbank.Right-click the table of the database to be imported.
  2. Navigieren Sie zu der zu importierenden CSV-Datei, und wählen Sie sie aus. Klicken Sie anschließend auf Weiter.Browse to and select the CSV file to be imported, and then click Next.
  3. Wählen Sie die Zieltabelle (neu oder vorhanden) aus, und aktivieren oder deaktivieren Sie das Kontrollkästchen Truncate table before import (Tabelle vor Import abschneiden).Select the destination table (new or existing), and select or clear the Truncate table before import check box. Klicken Sie auf Weiter.Click Next.
  4. Wählen Sie die Codierung und die zu importierenden Spalten aus, und klicken Sie auf Weiter.Select encoding and the columns to be imported, and then click Next.
  5. Klicken Sie auf der Seite Daten importieren auf Weiter.On the Import data page, click Next. Der Assistent importiert die Daten entsprechend den ausgewählten Einstellungen.The wizard imports the data accordingly.

Assistent zum Exportieren und Importieren von SQL-Daten im NavigatorbereichSQL data export and import wizards from the Navigator pane

Exportieren oder importieren Sie mit einem Assistenten SQL-Daten, die von MySQL Workbench oder mit dem Befehl „mysqldump“ generiert wurden.Use a wizard to export or import SQL generated from MySQL Workbench or generated from the mysqldump command. Sie können diese Assistenten im Navigatorbereich aufrufen, oder indem Sie im Hauptmenü die Option Server auswählen.Access these wizards from the Navigator pane or by selecting Server from the main menu. Wählen Sie anschließend Data Export (Datenexport) oder Data Import (Datenimport) aus.Then select Data Export or Data Import.

DatenexportData Export

Exportieren von Daten mit MySQL Workbench über den Navigatorbereich

Sie können Ihre MySQL-Daten mithilfe der Registerkarte Data Export (Datenexport) exportieren.You can use the Data Export tab to export your MySQL data.

  1. Wählen Sie jedes zu exportierende Schema aus, wählen Sie optional bestimmte Schemaobjekte/-tabellen aus einzelnen Schemas aus, und generieren Sie den Export.Select each schema that you want to export, optionally choose specific schema objects/tables from each schema, and generate the export. Zu den Konfigurationsoptionen zählen das Exportieren in einen Projektordner oder als eigenständige SQL-Datei, das Sichern von gespeicherten Routinen und Ereignissen oder das Überspringen von Tabellendaten.Configuration options include export to a project folder or self-contained SQL file, dump stored routines and events, or skip table data.

    Verwenden Sie alternativ die Option Resultset exportieren, um ein bestimmtes Resultset im SQL-Editor in einem anderen Format (z.B. CSV, JSON, HTML, XML) zu exportieren.Alternatively, use Export a Result Set to export a specific result set in the SQL editor to another format, such as CSV, JSON, HTML, and XML.

  2. Wählen Sie die zu exportierenden Datenbankobjekte aus, und konfigurieren Sie die entsprechenden Optionen.Select the database objects to export, and configure the related options.

  3. Klicken Sie auf Aktualisieren, um die aktuellen Objekte zu laden.Click Refresh to load the current objects.

  4. Öffnen Sie optional die Registerkarte Erweiterte Optionen, mit der Sie den Exportvorgang verfeinern können.Optionally, open the Advanced Options tab to refine the export operation. Fügen Sie beispielsweise Tabellensperren hinzu, und verwenden Sie Replace- anstelle von Insert-Anweisungen sowie Anführungszeichner-Kennzeichner mit Backtick-Zeichen.For example, add table locks, use replace instead of insert statements, and quote identifiers with backtick characters.

  5. Klicken Sie auf Export starten, um den Exportvorgang zu beginnen.Click Start Export to begin the export process.

DatenimportData Import

Importieren von Daten mit MySQL Workbench über den Verwaltungsnavigator

Über die Registerkarte Data Import (Datenimport) können Sie im Rahmen des Datenexportvorgangs oder mit dem Befehl „mysqldump“ exportierte Daten importieren oder wiederherstellen.You can use the Data Import tab to import or restore exported data from the data export operation or from the mysqldump command.

  1. Wählen Sie den Projektordner oder die eigenständige SQL-Datei aus, wählen Sie das Schema aus, in das importiert werden soll, oder wählen Sie Neu aus, um ein neues Schema zu definieren.Choose the project folder or self-contained SQL file, choose the schema to import into, or choose New to define a new schema.
  2. Klicken Sie auf Import beginnen , um den Importvorgang zu starten.Click Start Import to begin the import process.

Nächste SchritteNext steps