Optionen bezüglich Migrationstools
Es gibt verschiedene Tools, mit denen Sie Daten zu einer Instanz von Azure Database for MySQL – Flexibler Server migrieren können. Wie in den folgenden Abschnitten erläutert, hat jede Option Vor- und Nachteile.
Entdecken und Bewerten Ihrer MySQL-Workloads mit Azure Migrate
Azure Migrate bietet einen zentralen Hub zum Ermitteln, Bewerten und Migrieren lokaler Infrastruktur, einschließlich Servern, Datenbanken und Webanwendungen, die in physischen Umgebungen gehostet werden, zu Azure Platform-as-a-Service (PaaS)- und Infrastructure-as-a-Service (IaaS)-Zielen im großen Maßstab. Die MySQL-Ermittlungs- und Bewertungsfunktionalität in Azure Migrate (Vorschau) unterstützt Sie während der Planungsphase, indem Sie Folgendes ermöglicht:
- Entdecken von MySQL-Instanzen und deren Attribute in Ihrer Umgebung,
- Bewerten der Bereitschaft für die Migration zu Azure Database for MySQL – Flexibler Server und
- Erhalten von Empfehlungen zur geeigneten Compute- und Speicher-SKU zum Hosten von MySQL-Workloads in Azure Database for MySQL – Flexibler Server sowie zu den damit verbundenen Kosten.
Azure Database for MySQL – Import-CLI
„Azure Database for MySQL Import“ ist ein einzelner CLI-Befehl, mit dem Sie Ihre lokale MySQL-Instanz oder VM-Workload nahtlos zu Azure Database for MySQL – Flexible Server migrieren können. Er stellt einen einfachen und schnellen Migrationspfad dar. Der Befehl stellt einen flexiblen Zielserver bereit, der entsprechend den Benutzereingaben konfiguriert ist, und stellt dann die physische Sicherungsdatei des Quellservers wieder her, die mit Percona XtraBackup erstellt wurde und im Azure Blob Storage-Konto gespeichert ist. Die Wiederherstellung erfolgt auf der Flexible Server-Zielinstanz.
Der CLI-Befehl lautet: az mysql flexible-server --import
Wenn Sie die Import-CLI als Migrationsoption auswerten, sollten die folgenden Hinweise berücksichtigen.
Die Quellserverkonfiguration muss diese Parameter und Werte enthalten:
lower_case_table_names = 1 innodb_file_per_table = ON
Der Name des Systemtabellenbereichs sollte
ibdata1
lauten, wobei die Größe bei mindestens 12 MB liegen sollte (dem MySQL-Standardwert).Nur das InnoDB-Engine wird für die Migration unterstützt.
Bestimmte Elemente auf dem Quellserver wie die Konfiguration (Firewalls, Benutzer, Berechtigungen) werden nicht migriert.
Hochverfügbarkeit wird während der Migration deaktiviert, um die Leistung zu optimieren. Achten Sie darauf, die Hochverfügbarkeit nach Abschluss der Migration wieder zu aktivieren.
Azure Database Migration Service
Azure Database Migration Service ist ein vollständig verwalteter Dienst, der Ihnen hilft, Ihre Datenbankmigrationen auf Azure-Datenplattformen zu vereinfachen, zu leiten und zu automatisieren.
Azure Database Migration Service erstellt wiederholbarer Migrationsprojekte und führt diese aus. Quellen reichen von lokalen Workloads bis hin zu cloudbasierten Workloads wie Amazon RDS MySQL. Während es sich bei Azure Database Migration Service technisch gesehen um ein Offlinemigrationstool handelt, nutzt der Dienst MySQL binlog
, um Onlinemigrationen mit nahezu null Downtime durchzuführen.
mysqldump
Das Clienthilfsprogramm mysqldump
, das in der Regel zusammen mit MySQL installiert ist, ist ein Datenbanksicherungstool. Sie können mysqldump verwenden, um das Schema und den Inhalt einer Quelldatenbank in SQL-Anweisungen zu sichern. Anschließend können Sie diese Anweisungen wie besehen ausführen, um den Inhalt vollständig oder teilweise in der Zieldatenbank wiederherzustellen.
Bei großen Datasets kann die Leistung beim Wiederherstellen der Sicherung durch Ausführen der SQL-Anweisungen schlecht ausfallen. Indizes werden z. B. aktualisiert, indem Anweisungen nacheinander ausgeführt wird, wodurch die E/A-Leistung des Datenträgers überlastet werden kann. Aus diesem Grund können Sie eine Migration beschleunigen, indem Sie mysqldump
mit Tools wie mydumper
und myloader
kombinieren, die für die Massendatenmigration optimiert sind. Verwenden Sie mysqldump
, um das Datenbankschema neu zu erstellen. Dabei handelt es sich um eine Zielzone in der Zieldatenbank, die die zu importierenden Daten aufnehmen soll.
Unter Umständen müssen Sie die Migrationsdatenübertragung anpassen. Um die Daten der Zieldatenbank zu testen oder für einen Kunden zu ersetzen, sollten Sie einen Teil der Daten exportieren. Sie können die Daten sogar ändern und etwa personenbezogene Daten maskieren, um ein Problem in einer Testdatenbank zu debuggen, bevor Sie sie migrieren.
In diesen Szenarios bietet mysqldump
die größte Flexibilität. Da das Hilfsprogramm eine Datei mit SQL-Anweisungen exportiert, können Sie auswählen, wie die Daten geändert werden sollen, bevor die Anweisungen auf dem Zielserver ausgeführt werden.
mydumper und myloader
mydumper
und myloader
sind Teil des MyDumper-Pakets, einem Open-Source-MySQL-Sicherungstool. Im Gegensatz zum mysqldump
-Tool, das das gesamte Schema in SQL-Anweisungen ausgibt, die linear erneut ausgeführt werden, nutzen die MyDumper-Tools Parallelismus und bieten Vorteile wie die Verwendung separater Dateien nach Tabellenformaten und für Menschen lesbaren Formaten sowie die Aufrechterhaltung präziser Quell- und Zielbinärprotokollpositionen.
Um große Datenbanken zu migrieren, werden mydumper
und myloader
empfohlen, da diese Tools dank Parallelität eine mindestens zehnmal höhere Leistung bieten.
Die Tools sind als Binärversionen für Linux als rpm- und deb-Pakete und für macOS über Homebrew verfügbar. Auf anderen Plattformen müssen Sie die Tools aus der Quelle kompilieren, was Komplexität erzeugt.
MySQL Workbench
MySQL Workbench bietet eine grafische Benutzeroberfläche für die Arbeit mit MySQL und bietet Zugriff auf viele Tools, einschließlich einem für die Datenbankmigration. MySQL Workbench ist, wie in der Liste der MySQL Workbench-Features aufgeführt, in der Community-Edition und der kommerziellen Edition von MySQL verfügbar.
MySQL binlog
Das Tool mysqlbinlog
verwendet das binäre MySQL-Binärprotokoll, das Datenbankänderungsereignisse wie Tabellenänderungen oder Dateneinfügungen, -aktualisierungen und -löschungen erfasst. Jede Änderung wird mithilfe einer inkrementell steigenden Positiongekennzeichnet, und Sie können jede Änderung mithilfe des mysqlbinlog
-Tools prüfen und bearbeiten.
Sie können das Binärprotokoll als Teil von Online- und Offlinemigrationen verwenden:
- Bei Onlinemigrationen ist das Binärprotokoll der Schlüsselmechanismus für die Replikation von Livedatenänderungen von der Quelle in das Ziel.
- Mit Offlinemigrationen ermöglicht das Binärprotokoll inkrementelle Migrationen, indem präzise Änderungen seit einer zuvor migrierten Momentaufnahme generiert werden.
Für die Verwaltung von Binärprotokollen sind zusätzliche Verarbeitungs- und Speicherressourcen erforderlich.