Del via


Legg til CDC-kilde for MySQL-database i en hendelsesstrøm

Merk

Denne artikkelen inneholder referanser til termen SLAVE, et begrep som Microsoft ikke lenger bruker. Når termen fjernes fra programvaren, fjerner vi den fra denne artikkelen.

Denne artikkelen viser deg hvordan du legger til en MySQL Change Data Capture-kilde i en hendelsesstrøm. MySQL Database CDC støttes for øyeblikket fra følgende tjenester der databasene kan åpnes offentlig:

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

Denne veiledningen bruker Azure Database for MySQL CDC som et eksempel.

Når CDC-kilden for MySQL-database legges til i hendelsesstrømmen, registreres endringer på radnivå i de angitte tabellene. Disse endringene kan deretter behandles i sanntid og sendes til forskjellige mål for videre analyse.

Merk

Denne kilden støttes ikke i følgende områder av arbeidsområdets kapasitet: Vest-USA3, Sveits vest.

Forutsetning

  • Tilgang til et arbeidsområde i lisensmodus for stoffkapasitet (eller) prøveversjonslisensmodus med bidragsyter eller høyere tillatelser.
  • Tilgang til en forekomst av MySQL-database, for eksempel: en database i Azure Database for MySQL – fleksibel server.
  • MySQL-databasen må være offentlig tilgjengelig og ikke være bak en brannmur eller sikret i et virtuelt nettverk.
  • Hvis du ikke har en hendelsesstrøm, oppretter du en hendelsesstrøm.

Konfigurere MySQL DB

Koblingen bruker Debezium MySQL-koblingen til å registrere endringer i MySQL-databasen. Du må definere en MySQL-bruker med passende rettigheter i alle databaser der Messaging Connector kan registrere endringene fra. Du kan bruke administratorbrukeren direkte til å koble til databasen som vanligvis har de riktige rettighetene, eller du kan følge disse trinnene for å opprette en ny bruker:

Merk

Den nye bruker- eller administratorkontoen og det tilsvarende passordet brukes til å koble til databasen senere i Eventstream.

  1. Opprett MySQL-brukeren ved ledeteksten mysql :

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Gi brukeren de nødvendige rettighetene:

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

    Merk

    Når en global leselås er utilgjengelig, som i vertsbaserte alternativer som Amazon RDS eller Aurora, brukes låser på tabellnivå til å opprette det konsekvente øyeblikksbildet. I dette tilfellet må du gi LOCK TABLES tillatelse til brukeren. I tillegg, for å støtte FLUSH operasjoner under øyeblikksbildet, må du kanskje også gi RELOAD eller FLUSH_TABLES rettigheter.

  3. Fullfør brukerens tillatelser:

    mysql> FLUSH PRIVILEGES;
    

Hvis du vil bekrefte om brukeren eller administratoren har de nødvendige rettighetene, kjører du denne kommandoen, og deretter vises de nødvendige rettighetene i trinn#2:

SHOW GRANTS FOR user;

Hvis du vil ha mer informasjon om å gi de nødvendige tillatelsene til brukeren, kan du se Debezium-kobling for MySQL: Debezium Documentation.

Aktiver binlog

Du må aktivere binærlogging for MySQL-replikering. Binærloggene registrerer transaksjonsoppdateringer for replikeringsverktøy for å overføre endringer. Denne delen bruker Azure Database for MySQL CDC som et eksempel for å vise konfigurasjonstrinnene.

  1. Velg Serverparametere under Innstillinger i venstre navigasjon på Azure-portalsiden for Azure Database for MySQL-kontoen.

  2. Konfigurer følgende egenskaper på serverparametersiden, og velg deretter Lagre.

    Et skjermbilde av binlog-innstillingene for replikering under serverparametere.

Legg til MySQL DB (CDC) som kilde

Hvis du ikke har lagt til noen kilde i hendelsesstrømmen ennå, velger du Bruk ekstern kildeflis .

Skjermbilde som viser utvalget av Bruk ekstern kildeflis.

Hvis du legger til kilden i en allerede publisert hendelsesstrøm, bytter du til redigeringsmodus , velger Legg til kilde på båndet, og deretter velger du Eksterne kilder.

Skjermbilde som viser utvalget av Legg til kilde i eksterne kilder-menyen.

Søk etter og velg Koble til på MySQL DB-flisen (CDC) på siden Velg en datakilde.

Skjermbilde som viser utvalget av MySQL DB (CDC) som kildetype i hent hendelsesveiviseren.

Konfigurere og koble til MySQL DB (CDC)

  1. Velg Ny tilkobling på Koble til-skjermen under Tilkobling for å opprette en skytilkobling.

    Skjermbilde som viser Koble til-siden.

  2. Skriv inn følgende tilkoblingsinnstillinger og tilkoblingslegitimasjon for MySQL DB, og velg deretter Koble til.

    • Server: Serveradressen til MySQL-databasen, for eksempel my-mysql-server.mysql.database.azure.com.

    • Database: Databasenavnet, for eksempel my_database.

    • Tilkoblingsnavn: Automatisk generert, eller du kan angi et nytt navn for denne tilkoblingen.

    • brukernavn og passord: Skriv inn legitimasjonen for MySQL-databasen. Kontroller at du angir serveradministratorkontoen eller brukerkontoen som er opprettet med nødvendige rettigheter.

      Et skjermbilde av tilkoblingsinnstillingene for Azure MySQL DB (CDC).

  3. Skriv inn følgende informasjon for å konfigurere MySQL DB CDC-datakilden, og velg deretter Neste.

    • Tabell(er): Skriv inn en liste over tabellnavn atskilt med komma. Hvert tabellnavn må følge formatet <database name>.<table name>, for eksempel my_database.users.

    • Server-ID: Angi en unik verdi for hver server- og replikeringsklient i MySQL-klyngen. Standardverdien er 1000.

    • Port: La standardverdien være uendret.

      Et skjermbilde av valg av tabeller, server-ID og port for Azure MySQL DB -tilkoblingen (CDC).

    Du kan også redigere kildenavnet ved å velge Blyant-knappen for Kildenavn i delen Stream-detaljer til høyre.

    Merk

    Angi en annen server-ID for hver leser. Hver MySQL-databaseklient for lesing av binlog bør ha en unik ID, kalt Server-ID. MySQL Server bruker denne ID-en til å opprettholde nettverkstilkoblingen og binlog-posisjonen. Ulike jobber som deler samme server-ID, kan føre til lesing fra feil binlog-posisjon. Derfor anbefales det å angi en annen server-ID for hver leser.

  4. Velg Legg til for å fullføre konfigurasjonen etter å ha gjennomgått sammendraget for MySQL DB CDC-kilden på siden Se gjennom + koble til for å fullføre konfigurasjonen.

    Skjermbilde som viser siden Se gjennom + koble til med Legg til-knappen valgt.

Merk

Maksimalt antall kilder og mål for én hendelsesstrøm er 11.

Vis oppdatert hendelsesstrøm

  1. Du ser MySQL DB-kilden (CDC) lagt til i eventstreamen i Redigeringsmodus.

    Et skjermbilde av den tilføyde Azure MySQL DB CDC-kilden i redigeringsmodus med Publiser-knappen uthevet.

  2. Velg Publiser for å publisere endringene og begynne å strømme MySQL DB CDC-data til eventstreamen.

    Et skjermbilde av azure MySQL DB CDC-kilden som er lagt til i Live-modus.

Andre koblinger: