Replikationskanal erstellen

Bei der eingehenden Replikation verbindet ein Replikationskanal die Quelle (eine MySQL-Instanz oder ein anderes DB-System) mit dem Replikat (ein DB-System) und kopiert Daten aus der Quelle in das Replikat.

Konsole verwenden

Mit der Konsole können Sie einen Replikationskanal auf einem DB-Systemreplikat erstellen.

Diese Aufgabe erfordert Folgendes:
Führen Sie die folgenden Schritte aus, um einen Replikationskanal zu erstellen:
  1. Öffnen Sie das Navigationsmenü, und wählen Sie Datenbanken. Führen Sie unter HeatWave MySQL, einen der folgenden Schritte aus:
    • Klicken Sie auf Kanäle, Kanal erstellen.
    • Klicken Sie auf DB-Systeme, und klicken Sie in der Liste der DB-Systeme auf den Namen Ihres DB-Systems. Klicken Sie auf Weitere Aktionen, und wählen Sie Kanal erstellen aus.
    • Klicken Sie auf das Menü "Aktionen" in derselben Zeile wie das DB-System, und wählen Sie Kanal erstellen aus.
  2. Geben Sie im Bereich Kanal erstellen die folgenden Informationen ein:
    • Erstellen in Compartment: Wenn Sie den Kanal in einem anderen Compartment als dem aktuellen Compartment erstellen möchten, wählen Sie das erforderliche Compartment in der Liste aus. Wenn Sie kein anderes Compartment auswählen, wird das aktuelle Compartment verwendet.
    • Name: (Optional) Geben Sie einen benutzerfreundlichen Anzeigenamen für den Kanal an. Dieser Name bezieht sich nicht auf den Kanalnamen, der in der Definition unter Ziel-DB-System definiert ist. Er wird ausschließlich zur Kennzeichnung des Kanals verwendet. Wenn Sie keinen Namen angeben, wird einer für Sie im Format mysqlchannelYYYYMMDDHHMMSS generiert.
    • Bei Erstellung automatisch aktiviert: Gibt an, ob der Kanal bei erfolgreicher Erstellung automatisch gestartet wird. Standardmäßig ist er aktiviert. Wenn Sie diese Option deaktivieren, müssen Sie den Kanal manuell aktivieren.
    • Beschreibung: (Optional) Geben Sie eine benutzerfreundliche Beschreibung des Kanals und seines Zwecks an.
  3. Im Abschnitt Quellverbindung wird der Quellserver MySQL konfiguriert, von dem aus Sie die Daten replizieren möchten. Geben Sie Folgendes ein:
    • Hostname: Geben Sie den Hostnamen der MySQL-Quelle an. Sie können entweder eine IP-Adresse oder einen vollqualifizierten Domainnamen angeben.
    • Datenbankport: (Optional) Geben Sie die Portnummer an, auf der die MySQL-Quelle horcht. Der Standardwert ist 3306.
    • Benutzername: Geben Sie den Replikationsbenutzernamen für den Account an, den Sie auf dem MySQL-Quellserver erstellt haben. Der Replikationskanal verwendet diese Zugangsdaten für die Verbindung zur Quelle. Siehe Replikationsbenutzer auf einem Quellserver erstellen.
    • Kennwort und Kennwort bestätigen: Geben Sie das Kennwort für den Replikationsbenutzeraccount an.
    • SSL-Modus: Wählen Sie den erforderlichen SSL-Modus aus. Der ausgewählte Modus wird verwendet, um die SSL-spezifischen Werte der Verbindung in der MySQL-Quelle aufzufüllen. Wählen Sie einen der folgenden SSL-Modi aus:
      • Deaktiviert (DISABLED): Stellt eine unverschlüsselte Verbindung zwischen Quelle und Ziel her.
      • Erforderlich (REQUIRED): (Standardwert) Wenn der Server verschlüsselte Verbindungen unterstützt, wird eine verschlüsselte Verbindung hergestellt. Die Verbindung wird nicht hergestellt, wenn keine verschlüsselte Verbindung aufgebaut werden kann.
      • Zertifizierungsstelle verifizieren (VERIFY_CA): Wie im Modus Erforderlich, wird eine verschlüsselte Verbindung hergestellt, wenn der Server verschlüsselte Verbindungen unterstützt. Außerdem wird das für die Quelle konfigurierte Zertifikat der Certificate Authority mit dem X509-Zertifikat (PEM) der Certificate Authority überprüft. Sie müssen das X509-Zertifikat der Certificate Authority hochladen.
      • Identität verifizieren (VERIFY_IDENTITY): Wie im Modus Certificate Authority verifizieren, wird eine verschlüsselte Verbindung hergestellt, das Zertifikat der Certificate Authority überprüft und außerdem der Quellhostname, den Sie im Quell-SSL-Zertifikat definieren, mit dem Hostnamen überprüft, den Sie im Feld Hostname definieren. Sie müssen das X509-Zertifikat der Certificate Authority hochladen.
      • X509-Zertifikat (PEM) der Zertifizierungsstelle: Ermöglicht das Hochladen des X509-Zertifikats der Quell-Zertifizierungsstelle im PEM-Format. Wird nur angezeigt, wenn Sie den Modus Zertifizierungsstelle verifizieren oder Identität verifizieren auswählen. Das Zertifikat wird verwendet, um das Zertifikat der Certificate Authority für die Quelle zu verifizieren.
    • Replikationspositionierung: Konfigurieren Sie die Quell-GTID-Einstellungen:
      • Quelle kann automatische GTID-Positionierung verwenden (empfohlen) : Wählen Sie diese Option aus, wenn die Systemvariable gtid_mode in der Quelle auf ON gesetzt ist. Das bedeutet, dass der Quellserver das Replikat mit GTID-Informationen für die automatische Positionierung bereitstellen kann. Siehe GTIDs.
      • Quelle kann die automatische GTID-Positionierung nicht verwenden: Wählen Sie diese Option aus, wenn die Systemvariable gtid_mode in der Quelle auf OFF,OFF_PERMISSIVE oder ON_PERMISSIVE gesetzt ist. Das bedeutet, dass der Quellserver das Replikat nicht mit GTID-Informationen für die automatische Positionierung bereitstellen kann. Geben Sie die folgenden Optionen an, um eine anonyme Transaktion in eine Transaktion mit GTIDs zu konvertieren:
        Hinweis

        Sie können diese Option nur für Standalone-DB-Systeme auswählen. Sie können diese Option nicht für High Availability-DB-Systeme verwenden.
        • UID manuell angeben: Wählen Sie diese Option aus, um eine neue UUID zu generieren, oder geben Sie Ihre eigene UUID ein. Siehe UUID-Abschnitt in GTIDs.
        • Identische UUID wie das Ziel-DB-System: Wählen Sie diese Option aus, um dieselbe UUID wie das Ziel-DB-System zu verwenden.
        Geben Sie Folgendes an:
        • Binärlogdateiname: Geben Sie den Namen der Binärlogdatei an, die Ereignisse enthält, die Datenbankänderungen beschreiben. Siehe Binärlog.
        • Binary Log Offset: Geben Sie den Binärlog-Offset in der Binärlogdatei an.
  4. Im Abschnitt Ziel-DB-System wird das DB-System konfiguriert, in dem Sie die Daten replizieren möchten. Geben Sie Folgendes ein:
    • Applier-Benutzername: (Optional) Geben Sie den Benutzernamen des Applierers im Ziel-DB-System an. Wenn Sie keinen Benutzernamen angeben, wird der Administratoraccount des DB-Systems verwendet. Siehe Applier-Benutzer auf einem Ziel-DB-System erstellen.
      Hinweis

      Wenn angegeben, muss der Benutzeraccount im Ziel-DB-System vorhanden sein. Der Benutzeraccount muss auch die Berechtigung REPLICATION_APPLIER und Berechtigungen zum Ausführen der replizierten Transaktionen enthalten.
    • Kanalname: (Optional) Geben Sie den Replikationskanalnamen an. Das Ziel-DB-System kommuniziert über den Replikationskanal mit der MySQL-Quelle. Wenn Sie keinen Namen angeben, wird replication_channel verwendet.
    • Tabellen ohne Primärschlüssel: (Optional) Geben Sie an, wie ein Replikationskanal die Erstellung und Änderung von Tabellen ohne Primärschlüssel verarbeitet.
      • Fehler auslösen (RAISE_ERROR): Lösen Sie einen Fehler aus, wenn Sie eine CREATE TABLE- oder ALTER TABLE-Transaktion ohne Primärschlüssel replizieren.
      • Zulassen (ALLOW): (Standard) Lassen Sie die Replikation einer CREATE TABLE- oder ALTER TABLE-Transaktion ohne Primärschlüssel zu.
      • Primärschlüssel generieren (GENERATE_IMPLICIT_PRIMARY_KEY): Generieren Sie eine unsichtbare Primärschlüsselspalte, wenn Sie CREATE TABLE- oder ALTER TABLE-Anweisungen in InnoDB-Tabellen ohne Primärschlüssel replizieren.
    • Replikationsverzögerung: Legen Sie in Sekunden fest, wie lange der Kanal wartet, bevor eine von der Quelle eingegangene Transaktion angewendet wird.
    • Ziel-DB-System: Wählen Sie das DB-System aus, das als Replikationsziel verwendet werden soll. Wenn Sie den Kanal auf der Seite DB-Systemdetails oder über das Menü "Aktionen" erstellen, wird das Ziel-DB-System automatisch ausgewählt, und Sie können es nicht ändern. Sie können das Ziel-DB-System oben auf der Seite anzeigen.
    • Kanalfilter: (Optional) Klicken Sie auf Kanalfilteroptionen anzeigen, um den Typ und Wert der Replikationsfilter für den Kanal zu konfigurieren. Siehe Kanalfilterregeln.
      • Allgemeine Filtervorlagen: Wählen Sie eine Filtervorlage aus der verfügbaren Liste aus, die mit der Quelle übereinstimmt. Sie können bereits vorhandene Filtervorlagen verwenden, die den Typ und den Wert auffüllen.
      • Typ: Wählen Sie den Filtertyp aus. Sie können eine Vielzahl von Filtertypen auswählen, z.B. eine Datenbank oder Tabelle ignorieren und eine Datenbank neu schreiben.
      • Wert: Geben Sie einen Wert für den Filtertyp an. Sie können den Wert ausfüllen, indem Sie eine gemeinsame Filtervorlage auswählen oder einen neuen Wert eingeben.
  5. (Optional) Um die Ressourcenkonfiguration als Stack zu speichern, klicken Sie auf Als Stack speichern. Sie können die Ressourcen später mit dem Stack installieren, konfigurieren und verwalten. Siehe Stacks verwalten.
  6. Um den Kanal zu erstellen, klicken Sie auf Kanal erstellen.
    Die Kanalerstellung beginnt, und der Kanal wechselt in den Status Wird erstellt. Das Provisioning kann einige Minuten dauern. Der Kanal repliziert keine Daten von der Quelle zum Ziel, wenn er sich in diesem Status befindet.

Wenn Sie Automatisch bei Erstellung aktiviert aktiviert lassen, wechselt der Kanal, sobald er erfolgreich erstellt wurde, in den Status Aktiv und beginnt mit der Replikation von Daten von der Quelle in das Ziel.

Wenn Sie das Kontrollkästchen deaktivieren, wechselt der Kanal in den Status Inaktiv. Wenn Sie in diesem Fall bereit sind, mit dem Replizieren von Daten durch den Kanal zu beginnen, aktivieren Sie ihn wie unter Kanäle aktivieren oder deaktivieren beschrieben.

Kanalfilterregeln

Konfigurieren Sie Typ und Wert von Kanalfiltern für die Replikation.

Jede Filterregel kann nur einen Filtertyp und einen Wert enthalten. Sie können jedoch eine beliebige Anzahl von Filterregeln hinzufügen. Das Ergebnis ist das Hinzufügen aller Filterregeln. Beispiel: Wenn Sie eine Filterregel mit dem Typ REPLICATE_DO_DB und dem Filterwert mysql1 und einer anderen Filterregel mit dem Typ REPLICATE_DO_DB und dem Filterwert mysql2 erstellen, werden sowohl die Datenbanken mysql1 als auch mysql2 repliziert.

Tabelle 13-1: Kanalfilterregeln

Filtertyp Filterwert Details
REPLICATE_DO_DB database Repliziert die angegebene Datenbank.
REPLICATE_IGNORE_DB database Schränkt die Replikation der angegebenen Datenbank ein.
REPLICATE_DO_TABLE database.table Repliziert die angegebene Tabelle in der Datenbank.
REPLICATE_IGNORE_TABLE database.table Schränkt die Replikation der angegebenen Tabelle in der Datenbank ein.
REPLICATE_WILD_DO_TABLE database.table Repliziert die Tabelle, die dem angegebenen Platzhaltermuster entspricht.
REPLICATE_WILD_IGNORE_TABLE database.table Schränkt die Replikation jeder Tabelle ein, die dem angegebenen Platzhaltermuster entspricht.
REPLICATE_REWRITE_DB from_database->to_database Übersetzt from_database in der Quelle in to_database.

Platzhaltermuster

REPLICATE_WILD_DO_TABLE und REPLICATE_WILD_IGNORE_TABLE unterstützen Platzhalter. Platzhaltermuster können die Platzhalterzeichen % und _ enthalten.% steht für 0 oder mehr Zeichen und _ für jedes einzelne Zeichen. Beispiele:

  • Ein Filterwert von foo%.bar% im Filtertyp REPLICATE_WILD_DO_TABLE repliziert nur die Tabellen, bei denen der Datenbankname mit foo beginnt und der Tabellenname mit bar beginnt.
  • Ein Filterwert von foo%.% im Filtertyp REPLICATE_WILD_DO_TABLE repliziert alle Tabellen, bei denen der Datenbankname mit foo beginnt.
  • Ein Filterwert von foo_.bar_ im Filtertyp REPLICATE_WILD_IGNORE_TABLE ignoriert die Tabellen, bei denen der Datenbankname vier Zeichen enthält und mit foo beginnt und der Tabellenname vier Zeichen enthält und mit bar beginnt.

Wenn Sie eines der Platzhalterzeichen wörtlich in den Datenbank- oder Tabellennamen in REPLICATE_WILD_DO_TABLE oder REPLICATE_WILD_IGNORE_TABLE verwenden möchten, entkoppeln Sie sie mit umgekehrten Schrägstrichen (\). Beispiel: my\_db.top\_90\%.