Freigeben über


Hinzufügen von „Meine SQL Datenbank CDC-Quelle“ zu einem Eventstream

Hinweis

Dieser Artikel enthält Verweise auf den Begriff SLAVE, einen Begriff, den Microsoft nicht mehr verwendet. Sobald der Begriff aus der Software entfernt wurde, wird er auch aus diesem Artikel entfernt.

In diesem Artikel wird gezeigt, wie Sie einer Ereignisstream-Datei eine MySQL-Änderungsdatenerfassungsquelle hinzufügen. Derzeit wird mySQL Database CDC von den folgenden Diensten unterstützt, in denen öffentlich auf die Datenbanken zugegriffen werden kann:

  • Azure-Datenbank für MySQL
  • Amazon RDS für MySQL
  • Amazon Aurora MySQL
  • Google Cloud SQL for MySQL (GCP).

In dieser Anleitung wird Azure Database for MySQL CDC als Beispiel verwendet.

Sobald die CDC-Quelle der MySQL-Datenbank dem Eventstream hinzugefügt wurde, erfasst sie Änderungen auf Zeilenebene an den angegebenen Tabellen. Diese Änderungen können dann in Echtzeit verarbeitet und zur weiteren Analyse an verschiedene Ziele gesendet werden.

Hinweis

Diese Quelle wird in den folgenden Regionen Ihrer Arbeitsbereichskapazität nicht unterstützt: USA, Westen 3; Schweiz, Westen.

Voraussetzungen

  • Greifen Sie auf einen Arbeitsbereich im Fabric-Kapazitätslizenzmodus (oder) im Testlizenzmodus mit der Berechtigung „Mitwirkender“ oder mit höheren Berechtigungen zu.
  • Zugriff auf eine Instanz von MySQL-Datenbank, z. B. eine Datenbank in Azure Database for MySQL – Flexibler Server.
  • Ihre MySQL-Datenbank muss öffentlich zugänglich sein und darf sich nicht hinter einer Firewall oder in einem Virtual Network befinden.
  • Wenn Sie keinen Eventstream haben, erstellen Sie einen Eventstream.

Einrichten von MySQL DB

Der Connector verwendet den Debezium MySQL-Connector, um Änderungen in Ihrer MySQL-Datenbank zu erfassen. Sie müssen einen MySQL-Benutzer mit entsprechenden Berechtigungen für alle Datenbanken definieren, von denen der Messaging-Verbinden or die Änderungen erfassen kann. Sie können den Admin-Benutzer direkt verwenden, um eine Verbindung mit der Datenbank herzustellen, die üblicherweise über die entsprechenden Berechtigungen verfügt, oder Sie können die folgenden Schritte ausführen, um einen neuen Benutzer zu erstellen:

Hinweis

Das neue Benutzer- oder Administratorkonto und das entsprechende Kennwort werden verwendet, um später innerhalb von Eventstream eine Verbindung mit der Datenbank herzustellen.

  1. An der mysql Eingabeaufforderung den MySQL-Benutzer erstellen:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Gewähren Sie dem Benutzer die erforderlichen Berechtigungen:

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    

    Hinweis

    Wenn eine globale Lesesperre nicht verfügbar ist, wie in gehosteten Optionen wie Amazon RDS oder Aurora, werden Sperrungen auf Tabellenebene verwendet, um die konsistente Momentaufnahme zu erstellen. In diesem Fall müssen Sie dem Benutzer LOCK TABLES eine Berechtigung erteilen. Um FLUSH-Vorgänge während der Momentaufnahme zu unterstützen, müssen Sie möglicherweise auch die Berechtigungen RELOAD oder FLUSH_TABLES erteilen.

  3. Abschließen der Berechtigungen des Benutzers:

    mysql> FLUSH PRIVILEGES;
    

Um zu bestätigen, ob der Benutzer oder Administrator über die erforderlichen Berechtigungen verfügt, führen Sie diesen Befehl aus, und dann sollten die erforderlichen Berechtigungen in Schritt 2 angezeigt werden:

SHOW GRANTS FOR user;

Weitere Informationen zum Erteilen der erforderlichen Berechtigungen an Benutzende finden Sie unter Debezium-Connector für MySQL: Debezium-Dokumentation.

Aktivieren des Binlogs

Sie müssen die binäre Protokollierung für die MySQL-Replikation aktivieren. In den binären Protokollen werden Transaktionsaktualisierungen für Replikationstools erfasst, um Änderungen zu verteilen. In diesem Abschnitt wird Azure Database for MySQL CDC als Beispiel verwendet, um die Konfigurationsschritte zu zeigen.

  1. Wählen Sie auf der Azure-Portal-Seite für Ihr Azure Database for MySQL-Konto in der linken Navigation die Option Serverparameter unter Einstellungen.

  2. Konfigurieren Sie auf der Seite Serverparameter die folgenden Eigenschaften, und wählen Sie dann Speichern aus.

    • Für binlog_row_image, wählen Sie voll.

    • Legen Sie für binlog_expire_logs_seconds die Anzahl der Sekunden fest, die der Dienst wartet, bevor die binäre Protokolldatei gelöscht wird. Legen Sie den Wert so fest, dass er den Anforderungen Ihrer Umgebung entspricht, z. B. 86400.

    Screenshot der Binlog-Einstellungen für die Replikation unter Serverparametern.

Hinzufügen von MySQL DB (CDC) als Quelle

Wenn Sie Ihrem Eventstream noch keine Quelle hinzugefügt haben, wählen Sie die Kachel Externe Quelle verwenden aus.

Screenshot der Auswahl der Kachel „Externe Quelle verwenden“.

Wenn Sie die Quelle zu einem bereits veröffentlichten Eventstream hinzufügen, wechseln Sie zum Bearbeitungsmodus, wählen Sie im Band Quelle hinzufügen und dann Externe Quellen aus.

Screenshot der Auswahl von „Quelle hinzufügen“ und des Menüs „Externe Quellen“.

Suchen Sie auf der Seite Datenquelle auswählen auf der Kachel MySQL DB (CDC) nach Verbinden, und wählen Sie die Option aus.

Screenshot der Auswahl von MySQL DB (CDC) als Quellentyp im Assistenten zum Abrufen von Ereignissen.

Konfigurieren von MySQL-Datenbank (CDC) und Herstellen einer Verbindung

  1. Wählen Sie auf der Anzeige Verbinden unter Verbindung die Option Neue Verbindung aus, um eine Cloudverbindung zu erstellen.

    Screenshot der Seite „Verbinden“.

  2. Geben Sie die folgenden Verbindungseinstellungen und Verbindungsanmeldeinformationen für Ihre MySQL-Datenbank ein, und wählen Sie dann Verbinden aus.

    • Server: Die Serveradresse Ihrer MySQL-Datenbank, z. B. my-mysql-server.mysql.database.azure.com.

    • Datenbank: Der Datenbankname, z. B. my_database.

    • Verbindungsname: Automatisch generiert, oder Sie können einen neuen Namen für diese Verbindung eingeben.

    • Benutzername und Kennwort: Geben Sie die Anmeldeinformationen für Ihre MySQL-Datenbank ein. Stellen Sie sicher, dass Sie das Serveradministratorkonto oder das Benutzerkonto eingeben, das mit den erforderlichen Berechtigungen erstellt wurde.

      Ein Screenshot der Verbindungseinstellungen für Azure MySQL DB (CDC).

  3. Geben Sie die folgenden Informationen ein, um die MySQL DB CDC-Datenquelle zu konfigurieren, und wählen Sie dann Nextaus.

    • Tabelle(n):Geben Sie eine Liste von Tabellennamen ein, die durch Kommas getrennt sind. Jeder Tabellenname muss dem Format <database name>.<table name> entsprechen, z. B. my_database.users.

    • Server-ID: Geben Sie einen eindeutigen Wert für jeden Server- und Replikations-Client im MySQL-Cluster ein. Der Standardwert lautet „1000“.

    • Port: Lassen Sie den Standardwert unverändert.

      Screenshot der Auswahl von Tabellen, Server-ID und Port für die Azure MySQL DB (CDC)-Verbindung.

    Sie können auch den Quellennamen bearbeiten, indem Sie im Abschnitt Streamdetails rechts die Stiftschaltfläche für Quellenname auswählen.

    Hinweis

    Legen Sie für jeden Leser eine andere Server-ID fest. Jeder MySQL-Datenbank-Client zum Lesen von Binlog sollte eine eindeutige ID aufweisen, die als Server-ID bezeichnet wird. MySQL Server verwendet diese ID, um die Netzwerkverbindung und die Binlog-Position aufrechtzuerhalten. Verschiedene Aufträge, die dieselbe Server-ID gemeinsam nutzen, können dazu führen, dass aus der falschen Binlog-Position gelesen wird. Daher wird empfohlen, für jeden Leser eine andere Server-ID festzulegen.

  4. Nachdem Sie die Zusammenfassung auf der Seite Überprüfen + verbinden für die MySQL DB CDC-Quelle überprüft haben, wählen Sie Hinzufügen aus, um die Konfiguration abzuschließen.

    Screenshot der Seite „Überprüfen + verbinden“ mit ausgewählter Schaltfläche „Hinzufügen“.

Hinweis

Die maximale Anzahl der Quellen und Ziele für einen Eventstream beträgt 11.

Anzeigen des aktualisierten Eventstreams

  1. Die MySQL DB CDC-Quelle, die Sie Ihrem Eventstream hinzugefügt haben, wird im Bearbeitungsmodus angezeigt.

    Screenshot der hinzugefügten Azure MySQL DB CDC-Quelle im Bearbeitungsmodus mit hervorgehobener Taste „Veröffentlichen“.

  2. Wählen Sie Veröffentlichen aus, um die Änderungen zu veröffentlichen und mit dem Streamen von MySQL DB CDC-Daten in den Eventstream zu beginnen.

    Screenshot der hinzugefügten Azure MySQL DB CDC-Quelle im Livemodus.

Andere Connectors: