Verwenden einer MySQL-kompatiblen Datenbank als Quelle für homogene Datenmigrationen in AWS DMS - AWS Database Migration Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden einer MySQL-kompatiblen Datenbank als Quelle für homogene Datenmigrationen in AWS DMS

Sie können eine MySQL-kompatible Datenbank (MySQL oder MariaDB) als Quelle für Homogene Datenbankmigrationen in AWS DMS verwenden. In diesem Fall kann Ihr Quelldatenanbieter eine On-Premises-, Amazon-EC2-, Amazon-RDS-Datenbank oder MariaDB-Datenbank sein.

Um homogene Datenmigrationen durchzuführen, müssen Sie einen Datenbankbenutzer mit den SELECT-Berechtigungen für alle Quelltabellen und sekundären Objekte für die Replikation verwenden. Für Change-Data-Capture (CDC)-Aufgaben muss dieser Benutzer auch über die REPLICATION CLIENT (BINLOG MONITOR für MariaDB-Versionen nach 10.5.2) und REPLICATION SLAVE-Berechtigungen verfügen. Für eine Datenmigration mit Volllast benötigen Sie diese beiden Berechtigungen nicht.

Verwenden Sie das folgende Skript, um einen Datenbankbenutzer mit den erforderlichen Berechtigungen in Ihrer MySQL-Datenbank zu erstellen. Führen Sie die GRANT Abfragen für alle Datenbanken aus, die Sie zu migrieren AWS.

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

Ersetzen Sie im vorherigen Beispiel jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen. Wenn Ihre Quell-MySQL-Datenbankversion niedriger als 8.0 ist, können Sie den GRANT BACKUP_ADMIN-Befehl überspringen.

Verwenden Sie das folgende Skript, um einen Datenbankbenutzer mit den erforderlichen Berechtigungen in Ihrer MariaDB-Datenbank zu erstellen. Führen Sie die GRANT-Abfragen für alle Datenbanken aus, die Sie zu migrieren AWS.

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

Ersetzen Sie im vorherigen Beispiel jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

In den folgenden Abschnitten werden spezifische Konfigurationsvoraussetzungen für selbstverwaltete und von AWS verwaltete MySQL-Datenbanken beschrieben.

Verwendung einer selbstverwalteten MySQL-kompatiblen Datenbank als Quelle für homogene Datenmigrationen

In diesem Abschnitt wird beschrieben, wie Sie Ihre MySQL-kompatiblen Datenbanken konfigurieren, die On-Premises oder auf Amazon-EC2-Instances gehostet werden.

Prüfen Sie Version Ihrer MySQL- oder MariaDB-Quelldatenbank. Stellen Sie sicher, dass Ihre MySQL- oder MariaDB-Quelldatenbankversion AWS DMS unterstützt, wie unter beschriebenQuellen für homogene DMS-Datenmigrationen.

Um CDC zu verwenden, stellen Sie sicher, dass die binäre Protokollierung aktiviert ist. Um die binäre Protokollierung zu aktivieren, müssen die folgenden Parameter in der my.ini- (Windows) oder my.cnf-Datei (UNIX) Ihrer MySQL- oder MariaDB-Datenbank konfiguriert werden.

Parameter

Wert

server-id

Legen Sie diesen Parameter auf einen Wert von 1 oder größer fest.

log-bin

Legen Sie den Pfad zur binären Protokolldatei fest, z. B. log-bin=E:\MySql_Logs\BinLog. Schließen Sie nicht die Dateierweiterung ein.

binlog_format

Legen Sie diesen Parameter auf ROW fest. Wir empfehlen, diese Einstellung während der Replikation zu verwenden, da es in gewissen Fällen zu Inkonsistenzen bei der Replikation von Daten auf das Ziel kommen kann, wenn binlog_format auf STATEMENT gesetzt ist. Die Datenbank-Engine schreibt auch ähnlich inkonsistente Daten in das Ziel, wenn binlog_format auf MIXED gesetzt ist, da die Datenbank-Engine automatisch zur STATEMENT-basierten Protokollierung wechselt.

expire_logs_days

Legen Sie diesen Parameter auf einen Wert von 1 oder größer fest. Um zu verhindern, dass zu viel Speicherplatz verwendet wird, empfehlen wir, nicht den Standardwert 0 zu verwenden.

binlog_checksum

Legen Sie diesen Parameter auf NONE fest.

binlog_row_image

Legen Sie diesen Parameter auf FULL fest.

log_slave_updates

Setzen Sie diesen Parameter auf TRUE, wenn Sie ein MySQL- oder MariaDB-Replikat als Quelle verwenden.

Verwenden einer von verwalteten MySQL AWS-kompatiblen Datenbank als Quelle für homogene Datenmigrationen in AWS DMS

In diesem Abschnitt wird beschrieben, wie Sie Ihre Amazon-RDS-für-MySQL- und Amazon-RDS-für-MariaDB-Datenbank-Instances konfigurieren.

Wenn Sie eine von verwaltete MySQL AWS- oder MariaDB-Datenbank als Quelle für homogene Datenmigrationen in verwenden AWS DMS, stellen Sie sicher, dass Sie die folgenden Voraussetzungen für CDC erfüllen:

  • Aktivieren Sie automatische Backups auf Instance-Ebene, um Binärprotokolle für RDS für MySQL und MariaDB zu aktivieren. Um Binärprotokolle für einen Aurora-MySQL-Cluster zu aktivieren, ändern Sie die Variable binlog_format in der Parametergruppe. Sie müssen keine automatischen Backups für einen Aurora-MySQL-Cluster aktivieren.

    Stellen Sie den Parameter binlog_format auf ROW ein.

    Weitere Informationen zum Aktivieren von automatischen Backups finden Sie unter Aktivieren von automatisierten Backups im Benutzerhandbuch für Amazon RDS.

    Weitere Informationen zum Einrichten der Binärprotokollierung für eine Amazon-RDS-für-MySQL- oder MariaDB-Datenbank finden Sie unter Einstellen des Binärprotokollierungsformats im Benutzerhandbuch für Amazon RDS.

    Weitere Informationen zum Einrichten der Binärprotokollierung für einen Aurora-MySQL-Cluster finden Sie unter Wie aktiviere ich die Binärprotokollierung für meinen Amazon-Aurora-MySQL-Cluster?

  • Stellen Sie sicher, dass die Binärprotokolle für verfügbar sind AWS DMS. Da AWS-verwaltete MySQL- und MariaDB-Datenbanken die Binärprotokolle so schnell wie möglich bereinigen, sollten Sie die Dauer erhöhen, in der die Protokolle verfügbar bleiben. Um z. B. die Aufbewahrungszeit der Protokolle auf 24 Stunden zu verlängern, führen Sie den folgenden Befehl aus.

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • Stellen Sie den Parameter binlog_row_image auf Full ein.

  • Stellen Sie den Parameter binlog_checksum auf NONE ein.

  • Wenn Sie ein Lesereplikat von Amazon RDS MySQL oder MariaDB als Quelle verwenden, aktivieren Sie für das Lesereplikat Backups und stellen Sie sicher, dass der Parameter log_slave_updates auf TRUE gesetzt ist.

Einschränkungen bei der Verwendung einer MySQL-kompatiblen Datenbank als Quelle für homogene Datenmigrationen

Bei der Verwendung einer MySQL-kompatiblen Datenbank als Quelle für homogene Datenmigrationen gelten die folgenden Einschränkungen:

  • MariaDB-Objekte wie Sequenzen werden bei homogenen Migrationsaufgaben nicht unterstützt.

  • Die Migration von MariaDB zu Amazon RDS MySQL/Aurora MySQL schlägt möglicherweise aufgrund inkompatibler Objektunterschiede fehl.

  • Der Benutzername, den Sie für die Verbindung mit Ihrer Datenquelle verwenden, hat die folgenden Einschränkungen:

    • Er darf 2 bis 64 Zeichen lang sein.

    • Er darf keine Leerzeichen enthalten.

    • Er kann die folgenden Zeichen enthalten: a-z, A-Z, 0-9, Unterstrich (_).

    • Er muss mit a-z oder A-Z beginnen.

  • Das Passwort, das Sie für die Verbindung mit Ihrer Datenquelle verwenden, hat die folgenden Einschränkungen:

    • Es darf 1 bis 128 Zeichen lang sein.

    • Es darf keines der folgenden Zeichen enthalten: einfaches Anführungszeichen ('), doppeltes Anführungszeichen ("), Semikolon (;) oder Leerzeichen.