Optionen bezüglich Migrationstools
Es gibt mehrere Tools, mit denen Sie die Planung und Migration von Daten zu einem flexiblen Server in Azure Database for MySQL durchführen können. Wie in den folgenden Abschnitten erläutert, hat jede Option Vor- und Nachteile.
Entdecken und bewerten Sie Ihre 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 Sie die Bereitschaft zur Migration zu Azure Database for MySQL – Flexibler Server und
- Erhalten Sie Empfehlungen für die geeignete SKU für Rechenleistung und Speicher zum Betrieb von MySQL-Workloads auf Azure Database for MySQL – Flexibler Server, einschließlich der 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 auswerten, sollten Sie die folgenden Überlegungen berücksichtigen.
Die Quellserverkonfiguration muss diese Parameter und Werte enthalten:
lower_case_table_names = 1 innodb_file_per_table = ONDer Name des Systemtabellenbereichs sollte
ibdata1lauten, 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 wiederholbare 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 werden, wodurch die Festplatten-I/O-Leistung ü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 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.