Delen via


MySQL Database CDC-bron toevoegen aan een eventstream

Notitie

Dit artikel bevat verwijzingen naar de term SLAVE, een term die Microsoft niet meer gebruikt. Zodra de term uit de software wordt verwijderd, verwijderen we deze uit dit artikel.

In dit artikel leest u hoe u een MySQL Change Data Capture-bron toevoegt aan een eventstream. Op dit moment wordt MySQL Database CDC ondersteund vanuit de volgende services waar de databases openbaar toegankelijk zijn:

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

In deze handleiding wordt Azure Database for MySQL CDC als voorbeeld gebruikt.

Zodra de MySQL Database CDC-bron is toegevoegd aan de eventstream, worden wijzigingen op rijniveau vastgelegd in de opgegeven tabellen. Deze wijzigingen kunnen vervolgens in realtime worden verwerkt en naar verschillende bestemmingen worden verzonden voor verdere analyse.

Notitie

Deze bron wordt niet ondersteund in de volgende regio's van uw werkruimtecapaciteit: VS - west 3, Zwitserland - west.

Vereisten

  • Toegang tot een werkruimte in de licentiemodus voor infrastructuurcapaciteit (of) de modus Voor proeflicenties met inzender- of hogere machtigingen.
  • Toegang tot een exemplaar van MySQL Database, zoals: een database in Azure Database for MySQL - Flexible Server.
  • Uw MySQL-database moet openbaar toegankelijk zijn en zich niet achter een firewall bevinden of zijn beveiligd in een virtueel netwerk.
  • Als u geen eventstream hebt, maakt u een eventstream.

MySQL-database instellen

De connector maakt gebruik van de Debezium MySQL-connector om wijzigingen in uw MySQL-database vast te leggen. U moet een MySQL-gebruiker met de juiste bevoegdheden definiëren voor alle databases waaruit de Berichtenconnector de wijzigingen kan vastleggen. U kunt de -beheerder gebruiker direct gebruiken om verbinding te maken met de database, die normaal gesproken de juiste bevoegdheden heeft. U kunt ook de volgende stappen uitvoeren om een nieuwe gebruiker te maken:

Notitie

Het nieuwe gebruikers- of beheerdersaccount en het bijbehorende wachtwoord worden gebruikt om later in Eventstream verbinding te maken met de database.

  1. Maak bij de mysql opdrachtprompt de MySQL-gebruiker:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Verdeel de vereiste bevoegdheden aan de gebruiker:

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

    Notitie

    Wanneer een globale leesvergrendeling niet beschikbaar is, zoals in gehoste opties zoals Amazon RDS of Aurora, worden vergrendelingen op tabelniveau gebruikt om de consistente momentopname te maken. In dit geval moet u LOCK TABLES toestemming verlenen aan de gebruiker. Als u FLUSH bewerkingen tijdens de momentopname wilt ondersteunen, moet u mogelijk ook RELOAD of FLUSH_TABLES bevoegdheden verlenen.

  3. Voltooi de machtigingen van de gebruiker:

    mysql> FLUSH PRIVILEGES;
    

Om te bevestigen of de gebruiker of beheerder de vereiste privileges heeft gekregen, voert u dit commando uit. Vervolgens zouden de vereiste privileges in stap 2 moeten worden getoond.

SHOW GRANTS FOR user;

Zie de Debezium-connector voor MySQL: Debezium-documentatie voor meer informatie over het verlenen van de vereiste machtigingen aan de gebruiker.

Het binlog inschakelen

U moet binaire logboekregistratie inschakelen voor MySQL-replicatie. De binaire logboeken registreren transactie-updates voor replicatiehulpprogramma's om wijzigingen door te geven. In deze sectie wordt Azure Database for MySQL CDC gebruikt als voorbeeld om de configuratiestappen weer te geven.

  1. Selecteer op de azure-portalpagina voor uw Azure Database for MySQL-account serverparameters onder Instellingen in het linkernavigatievenster.

  2. Configureer op de pagina Serverparameters de volgende eigenschappen en selecteer Opslaan.

    Een schermopname van de binlog-instellingen voor replicatie onder Serverparameters.

MySQL DB (CDC) toevoegen als bron

Als u nog geen bron aan uw eventstream hebt toegevoegd, selecteert u De tegel Externe bron gebruiken.

Schermopname van de selectie van de tegel Externe bron gebruiken.

Als u de bron toevoegt aan een al gepubliceerde gebeurtenisstroom, schakelt u over naar de bewerkingsmodus, selecteert u Bron toevoegen op het lint en selecteert u Vervolgens Externe bronnen.

Schermopname van de selectie van het menu Bron toevoegen aan externe bronnen.

Zoek en selecteer verbinding maken op de tegel MySQL DB (CDC) op de pagina Een gegevensbron selecteren.

Schermopname van de selectie van MySQL DB (CDC) als brontype in de wizard Gebeurtenissen ophalen.

MySQL DB (CDC) configureren en er verbinding mee maken

  1. Selecteer in het scherm Verbinding maken onder Verbinding de optie Nieuwe verbinding om een cloudverbinding te maken.

    Schermopname van de pagina Verbinding maken.

  2. Voer de volgende verbindingsinstellingen in en verbindingsreferenties voor uw MySQL-database en selecteer vervolgens Verbinding maken.

  3. Voer de volgende informatie in om de CDC-gegevensbron MySQL DB te configureren en selecteer vervolgens Volgende.

    • Tabel(en): Voer een lijst met tabelnamen in, gescheiden door komma's. Elke tabelnaam moet de notatie <database name>.<table name>volgen, bijvoorbeeld my_database.users.

    • Server-id: Voer een unieke waarde in voor elke server en replicatieclient in het MySQL-cluster. De standaardwaarde is 1000.

    • Poort: laat de standaardwaarde ongewijzigd.

      Een schermopname van het selecteren van tabellen, server-id en poort voor de Azure MySQL DB-verbinding (CDC).

    U kunt ook de bronnaam bewerken door de knop Potlood voor bronnaam te selecteren in de sectie Details van stream aan de rechterkant.

    Notitie

    Stel een andere server-id in voor elke lezer. Elke MySQL-databaseclient voor het lezen van binlog moet een unieke id hebben, server-id genoemd. MySQL Server gebruikt deze id om de netwerkverbinding en de binlog-positie te behouden. Verschillende taken die dezelfde server-id delen, kunnen leiden tot het lezen van de verkeerde binlogpositie. Daarom is het raadzaam om voor elke lezer een andere server-id in te stellen.

  4. Op de pagina Review + verbinding maken, selecteer na het bekijken van de samenvatting voor de MySQL DB CDC-bron Toevoegen om de configuratie te voltooien.

    Schermopname van de pagina Controleren en verbinden met de knop Toevoegen geselecteerd.

Notitie

Het maximum aantal bronnen en bestemmingen voor één eventstream is 11.

Bijgewerkte eventstream weergeven

  1. U ziet dat de MySQL DB-bron (CDC) is toegevoegd aan uw eventstream in bewerkingsmodus.

    Een schermopname van de toegevoegde Azure MySQL DB CDC-bron in de bewerkingsmodus met de knop Publiceren gemarkeerd.

  2. Selecteer Publish om de wijzigingen te publiceren en mySQL DB CDC-gegevens naar de eventstream te streamen.

    Een schermopname van de toegevoegde Azure MySQL DB CDC-bron in de livemodus.

Andere connectors: