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 erfahren Sie, wie Sie einer Eventstream-Datenbank eine Azure Database for MySQL-Change Data Capture-Quelle hinzufügen. Mit dem Azure MySQL Database Change Data Capture (CDC)-Quellen-Konnektor für Microsoft Fabric-Eventstreams können Sie eine Momentaufnahme der aktuellen Daten in einer Azure Database for MySQL-Datenbank erfassen.

Sie können die zu überwachenden Tabellen angeben, und der Eventstream zeichnet alle zukünftigen Änderungen auf Zeilenebene in den Tabellen auf. Sobald die Änderungen im Eventstream erfasst sind, können Sie diese CDC-Daten in Echtzeit verarbeiten und an verschiedene Ziele in Fabric zur weiteren Verarbeitung oder Analyse senden.

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 Instance von Azure Database for MySQL Flexible 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 Konnektor verwendet den Debezium MySQL-Konnektor, um Änderungen in Ihrer Azure Database for 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 Administratorbenutzer direkt verwenden, um eine Verbindung mit der Datenbank herzustellen, die normalerweise bereits die entsprechenden Berechtigungen wie unten hat. Gehen Sie zum Erstellen eines neuen Benutzers wie folgt vor:

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'@'%';
    
  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 den folgenden Befehl aus, und dann sollten die erforderlichen Berechtigungen in Schritt 2 oben 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.

  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 Azure 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 und Herstellen einer Verbindung mit Azure MySQL DB (CDC)

  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 Verbindungs-Anmeldedaten für Ihre Azure MySQL DB ein, und wählen Sie dann Verbinden aus.

    • Server: Die Serveradresse Ihrer Azure Database for 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.

    • Nutzername und Passwort: Geben Sie die Anmeldedaten für Ihre Azure Database for 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 Azure MySQL DB CDC-Datenquelle zu konfigurieren, und wählen Sie dann Weiter aus.

    • 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 Azure 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 Azure MySQL DB (CDC)-Quelle wird Ihrem Eventstream im Bearbeitungsmodus hinzugefügt.

    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 Azure MySQL DB CDC-Daten in den Eventstream zu beginnen.

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

Andere Connectors: