Del via


Føj Cdc-kilden mySQL-database til en hændelsesstream

Bemærk

Denne artikel indeholder referencer til udtrykket SLAVE, et ord, som Microsoft ikke længere bruger. Når ordet er fjernet fra softwaren, fjerner vi det fra denne artikel.

I denne artikel kan du se, hvordan du føjer en MySQL Change Data Capture-kilde til en hændelsesstream. I øjeblikket understøttes MySQL Database CDC fra følgende tjenester, hvor der er offentligt adgang til databaserne:

  • Azure Database til MySQL-
  • Amazon RDS til MySQL-
  • Amazon Aurora MySQL-
  • Google Cloud SQL til MySQL (GCP).

I denne vejledning bruges Azure Database til MySQL CDC- som et eksempel.

Når CDC-kilden til MySQL-databasen er føjet til hændelsesstrømmen, registreres ændringer på rækkeniveau i de angivne tabeller. Disse ændringer kan derefter behandles i realtid og sendes til forskellige destinationer for yderligere analyse.

Bemærk

Denne kilde understøttes ikke i følgende områder af arbejdsområdekapaciteten: Det vestlige USA3, det vestlige Schweiz.

Forudsætninger

  • Adgang til et arbejdsområde i Fabric-kapacitetslicenstilstand (eller) prøvelicenstilstand med bidragydertilladelser eller højere tilladelser.
  • Adgang til en forekomst af MySQL Database, f.eks.: en database i Azure Database for MySQL – Flexible Server.
  • Din MySQL-database skal være offentligt tilgængelig og ikke være bag en firewall eller være sikret i et virtuelt netværk.
  • Hvis du ikke har en eventstream, skal du oprette en eventstream.

Konfigurer MySQL DB

Connectoren bruger Debezium MySQL-connectoren til at registrere ændringer i MySQL-databasen. Du skal definere en MySQL-bruger med de relevante rettigheder på alle databaser, hvor Messaging Connector kan hente ændringerne fra. Du kan bruge den administratorbruger til at oprette forbindelse til databasen, som normalt har de relevante rettigheder, eller du kan følge disse trin for at oprette en ny bruger:

Bemærk

Den nye bruger- eller administratorkonto og den tilsvarende adgangskode bruges til at oprette forbindelse til databasen senere i Eventstream.

  1. mysql Opret MySQL-brugeren ved kommandoprompten:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Tildel brugeren de nødvendige rettigheder:

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. Afslut brugerens tilladelser:

    mysql> FLUSH PRIVILEGES;
    

Hvis du vil bekræfte, om brugeren eller administratoren har de påkrævede rettigheder tildelt, skal du køre denne kommando, og derefter skal de påkrævede rettigheder i trin#2 vises:

SHOW GRANTS FOR user;

Du kan få flere oplysninger om tildeling af de nødvendige tilladelser til brugeren i Debezium-connector til MySQL: Debezium-dokumentation.

Aktivér binlog

Du skal aktivere binær logføring for MySQL-replikering. De binære logge registrerer transaktionsopdateringer til replikeringsværktøjer til overførsel af ændringer. I dette afsnit bruges Azure Database til MySQL CDC som et eksempel til at vise konfigurationstrinnene.

  1. På siden Azure-portal for din Azure Database for MySQL-konto skal du vælge Serverparametre under Indstillinger i venstre navigationsrude.

  2. Konfigurer følgende egenskaber på siden Serverparametre , og vælg derefter Gem.

    • Vælg fuld for binlog_row_image.

    • I binlog_expire_logs_seconds skal du angive det antal sekunder, tjenesten venter, før den binære logfil fjernes. Angiv værdien, så den svarer til behovene i dit miljø, f.eks . 86400.

    Et skærmbillede af indstillingerne for binlog for replikering under Serverparametre.

Tilføj MySQL DB (CDC) som kilde

Hvis du endnu ikke har føjet nogen kilde til din eventstream, skal du vælge Brug eksternt kildefelt .

Skærmbillede, der viser valget af Feltet Brug ekstern kilde.

Hvis du føjer kilden til en allerede publiceret hændelsesstream, skal du skifte til redigeringstilstand, vælge Tilføj kilde på båndet og derefter vælge Eksterne kilder.

Skærmbillede, der viser valget af menuen Føj kilde til eksterne kilder.

På siden Vælg en datakilde skal du søge efter og vælge Opret forbindelse på feltet MySQL DB (CDC).

Skærmbillede, der viser valget af MySQL DB (CDC) som kildetype i guiden Hent hændelser.

Konfigurer og opret forbindelse til MySQL DB (CDC)

  1. På skærmen Opret forbindelse under Forbindelse skal du vælge Ny forbindelse for at oprette en cloudforbindelse.

    Skærmbillede, der viser siden Opret forbindelse.

  2. Angiv følgende Forbindelsesindstillinger og Legitimationsoplysninger for forbindelse til MySQL-databasen, og vælg derefter Opret forbindelse.

    • Server: Serveradressen på MySQL-databasen, f.eks. my-mysql-server.mysql.database.azure.com.

    • Database: Databasenavnet, f.eks . my_database.

    • Forbindelsesnavn: Genereres automatisk, eller du kan angive et nyt navn for denne forbindelse.

    • brugernavn og adgangskode: Angiv legitimationsoplysningerne for MySQL-databasen. Sørg for at angive serveradministratorkontoen eller den brugerkonto, der er oprettet med de påkrævede rettigheder, der er tildelt.

      Et skærmbillede af forbindelsesindstillingerne for Azure MySQL DB (CDC).

  3. Angiv følgende oplysninger for at konfigurere CDC-datakilden MySQL DB, og vælg derefter Næste.

    • Table(s): Angiv en liste over tabelnavne adskilt af kommaer. Hvert tabelnavn skal følge formatet <database name>.<table name>, f.eks . my_database.users.

    • Server-id: Angiv en entydig værdi for hver server og replikeringsklient i MySQL-klyngen. Standardværdien er 1000.

    • Port: Lad standardværdien være uændret.

      Et skærmbillede af valg af Tabeller, Server-id og Port til Azure MySQL DB-forbindelsen (CDC).

    Du kan også redigere kildenavnet ved at vælge blyantsknappen for Kildenavn i afsnittet Stream-detaljer til højre.

    Bemærk

    Angiv et andet server-id for hver læser. Alle MySQL-databaseklienter til læsning af binlog skal have et entydigt id, der kaldes Server-id. MySQL Server bruger dette id til at vedligeholde netværksforbindelsen og placeringen af binlog. Forskellige job, der deler det samme server-id, kan resultere i læsning fra den forkerte placering i binlog. Det anbefales derfor at angive et andet server-id for hver læser.

  4. På siden Gennemse + opret forbindelse skal du vælge Tilføj for at fuldføre konfigurationen, når du har gennemset oversigten for CDC-kilden MySQL DB.

    Skærmbillede, der viser siden Gennemse + opret forbindelse med knappen Tilføj valgt.

Bemærk

Det maksimale antal kilder og destinationer for én hændelsesstream er 11.

Vis opdateret hændelsesstream

  1. Du kan se, at Kilden MySQL DB (CDC) er føjet til din eventstream i redigeringstilstand.

    Et skærmbillede af den tilføjede Azure MySQL DB CDC-kilde i redigeringstilstand, hvor knappen Publicer er fremhævet.

  2. Vælg Publicer for at publicere ændringerne og begynde at streame MySQL DB CDC-data til hændelsesstreamen.

    Et skærmbillede af den tilføjede Azure MySQL DB CDC-kilde i livetilstand.

Andre connectors: