Migration von Amazon RDS MySQL ohne SUPERUSER-Berechtigungen

Das erfolgreiche Erstellen und Ausführen eines Migrationsjobs mit einer oder mehreren Amazon RDS MySQL-Quellen, die keine SUPERUSER-Berechtigungen zulassen, erfordert möglicherweise einige zusätzliche Schritte.

Amazon RDS MySQL-Migrationsjob erstellen

  1. In MySQL ist die Definition des Quellhostnamens auf 60 Zeichen begrenzt. Hostnamen von Amazon RDS-Datenbanken sind in der Regel länger als 60 Zeichen. Wenn dies bei der Datenbank, die Sie migrieren, der Fall ist, konfigurieren Sie eine DNS-Weiterleitung, um einen CNAME-Eintrag zu erstellen, der Ihren Domainnamen mit dem Domainnamen Ihrer Amazon RDS-DB Instanz verknüpft. Weitere Informationen zum Einrichten von DNS-CNAME finden Sie in der Cloud DNS-Dokumentation oder in der AWS Route 53-Dokumentation.

  2. Binärlogs müssen im Standard-Blockspeicher gespeichert werden und können nicht in Amazon S3 gespeichert werden.

  3. Zum Erstellen eines kontinuierlichen Migrationsjobs mit einem manuellen Dump muss GTID aktiviert sein. GTID_MODE muss entweder ON, OFF, oder OFF_PERMISSIVE sein. Der Wert ON_PERMISSIVE für GTID_MODE wird nicht unterstützt.

Migrationsjob ausführen

Für den ersten vollständigen Dump, sowohl für MySQL Amazon RDS als auch für Quellen ohne SUPERUSER Berechtigung, sollten Schreibvorgänge in der Quelle etwa 20 Sekunden lang angehalten werden.

Sie können Schreibvorgänge entweder durch die Migration von einem Lesereplikat oder durch das Anhalten von Schreibvorgängen direkt in der Quelldatenbank anhalten.

So migrieren Sie von einem Lesereplikat:

  1. Erstellen Sie ein Lesereplikat in Amazon Web Services (AWS).

  2. Konfigurieren Sie das Database Migration Service-Quellverbindungsprofil mit den Verbindungsinformationen des AWS-Lesereplikats.

  3. Nachdem sich der Status des Migrationsjobs in Wird gestartet | Warten auf Ende der Quellschreibvorgänge geändert hat, deaktivieren Sie die Replikation zwischen der AWS-Primärinstanz und dem Lesereplikat für etwa 20 Sekunden.

  4. Nachdem sich der Status des Migrationsjobs in Wird ausgeführt | Vollständiger Dump läuft geändert hat, aktivieren Sie die Replikation zum Lesereplikat in AWS wieder.

Anstatt Schreibvorgänge durch die Migration von einem Lesereplikat in AWS anzuhalten, können Sie Schreibvorgänge direkt in der Quelldatenbank anhalten. Mit einem Skript können Sie prüfen, ob alle Schreibvorgänge in die Quelldatenbank angehalten wurden.

Der Status und der Unterstatus des Migrationsjobs geben an, wann Schreibvorgänge angehalten und fortgesetzt werden müssen. Die Statusänderungen können in der API, in der Konsole oder direkt in Cloud Monitoring verfolgt werden:

  1. Nachdem sich der Status in Wird gestartet | Warten auf Ende der Quellschreibvorgänge geändert hat, sollten Schreibvorgänge in die Quelldatenbank angehalten werden. Database Migration Service erkennt, dass die Schreibvorgänge angehalten wurden, und der Status ändert sich in Wird ausgeführt | Dump wird vorbereitet.

  2. Nachdem sich der Status in Wird ausgeführt | Vollständiger Dump läuft geändert hat, können Sie Schreibvorgänge in die Quelldatenbank wieder aufnehmen.

Database Migration Service versucht etwa 20 Minuten lang, den ersten Dump zu erstellen. Wenn Schreibvorgänge nicht angehalten wurden oder wieder aufgenommen werden, bevor der Status aktualisiert wird, schlägt der Vorgang fehl und gibt einen Fehler zurück, der die Ursache des Fehlers beschreibt.