Dela via


Lägg till MySQL Database CDC-källa i en händelseström

Anteckning

Den här artikeln innehåller referenser till termen SLAVE, en term som Microsoft inte längre använder. När termen tas bort från programvaran tar vi bort den från den här artikeln.

Den här artikeln visar hur du lägger till en MySQL Change Data Capture-källa i en händelseström. MySQL Database CDC stöds för närvarande från följande tjänster där databaserna kan nås offentligt:

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

Den här guiden använder Azure Database for MySQL CDC som exempel.

När MySQL Database CDC-källan har lagts till i händelseströmmen samlar den in ändringar på radnivå i de angivna tabellerna. Dessa ändringar kan sedan bearbetas i realtid och skickas till olika mål för ytterligare analys.

Kommentar

Den här källan stöds inte i följande regioner i din arbetsytekapacitet: USA, västra 3, Schweiz, västra.

Förutsättningar

  • Åtkomst till en arbetsyta i Fabric kapacitetslicensläge (eller) utvärderingslicensläge med medarbetarbehörighet eller högre.
  • Åtkomst till en instans av MySQL Database, till exempel: en databas i Azure Database for MySQL – flexibel server.
  • MySQL-databasen måste vara offentligt tillgänglig och inte finnas bakom en brandvägg eller skyddas i ett virtuellt nätverk.
  • Om du inte har en händelseström, skapa en händelseström.

Konfigurera MySQL DB

Anslutningsappen använder Debezium MySQL-anslutningsappen för att samla in ändringar i din MySQL-databas. Du måste definiera en MySQL-användare med lämpliga behörigheter för alla databaser där Messaging Connector kan samla in ändringarna från. Du kan direkt använda administratörsanvändare för att ansluta till databasen som normalt har rätt behörighet, eller så kan du följa dessa steg för att skapa en ny användare:

Anteckning

Det nya användar- eller administratörskontot och motsvarande lösenord används för att ansluta till databasen senare i Eventstream.

  1. mysql I kommandotolken skapar du MySQL-användaren:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Bevilja användaren de behörigheter som krävs:

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

    Kommentar

    När ett globalt läslås inte är tillgängligt, som i värdbaserade alternativ som Amazon RDS eller Aurora, används lås på tabellnivå för att skapa den konsekventa ögonblicksbilden. I det här fallet måste du ge användaren LOCK TABLES behörighet. För att stödja FLUSH åtgärder under ögonblicksbilden kan du också behöva bevilja RELOAD eller FLUSH_TABLES privilegier.

  3. Slutför användarens behörigheter:

    mysql> FLUSH PRIVILEGES;
    

Kontrollera om användaren eller administratören har de behörigheter som krävs genom att köra det här kommandot och sedan ska de behörigheter som krävs i steg 2 visas:

SHOW GRANTS FOR user;

Mer information om hur du beviljar nödvändiga behörigheter till användaren finns i Debezium Connector for MySQL: Debezium Documentation.

Aktivera binlog

Du måste aktivera binär loggning för MySQL-replikering. Binärloggarna registrerar transaktionsuppdateringar för replikeringsverktyg för att sprida ändringar. I det här avsnittet används Azure Database for MySQL CDC- som ett exempel för att visa konfigurationsstegen.

  1. På sidan Azure Portal för ditt Azure Database for MySQL-konto väljer du Serverparametrar under Inställningar i det vänstra navigeringsfältet.

  2. På sidan Serverparametrar konfigurerar du följande egenskaper och väljer sedan Spara.

    • För binlog_row_image väljer du fullständig.

    • För binlog_expire_logs_seconds anger du hur många sekunder tjänsten väntar innan den binära loggfilen rensas. Ange värdet för att matcha behoven i din miljö, till exempel 86400.

    En skärmbild av binloginställningarna för replikering under Serverparametrar.

Lägg till MySQL DB (CDC) som källa

Om du inte har lagt till någon källa i händelseströmmen ännu väljer du Panelen Använd extern källa .

Skärmbild som visar valet av Använd extern källruta.

Om du lägger till källan i en redan publicerad händelseström växlar du till Redigeringsläge , väljer Lägg till källa i menyfliksområdet och väljer sedan Externa källor.

Skärmbild som visar valet av Menyn Lägg till källa till externa källor.

På sidan Välj en datakälla söker du efter och väljer Anslutpanelen MySQL DB (CDC).

Skärmbild som visar valet av MySQL DB (CDC) som källtyp i guiden Hämta händelser.

Konfigurera och ansluta till MySQL DB (CDC)

  1. På skärmen Anslut går du till Anslutning och väljer Ny anslutning för att skapa en molnanslutning.

    Skärmbild som visar sidan Anslut.

  2. Ange följande Anslutningsinställningar och autentiseringsuppgifter för anslutning för MySQL DB och välj sedan Anslut.

    • Server: Serveradressen för din MySQL-databas, till exempel my-mysql-server.mysql.database.azure.com.

    • Databas: Databasnamnet, till exempel my_database.

    • Anslutningsnamn: Genereras automatiskt, eller så kan du ange ett nytt namn för den här anslutningen.

    • Användarnamn och Lösenord: Ange autentiseringsuppgifterna för MySQL-databasen. Kontrollera att du anger serveradministratörskontot eller användarkontot som skapats med nödvändiga behörigheter.

      En skärmbild av anslutningsinställningarna för Azure MySQL DB (CDC).

  3. Ange följande information för att konfigurera MySQL DB CDC-datakällan och välj sedan Nästa.

    • tabell: Välj Alla tabeller eller Ange tabellnamn. Om du väljer det senare anger du tabeller med hjälp av en kommaavgränsad lista med fullständiga tabellidentifierare (schemaName.tableName) eller giltiga reguljära uttryck. Till exempel:

      • Använd dbo.test.* för att välja alla tabeller vars namn börjar med dbo.test.
      • Använd dbo\.(test1|test2) för att välja dbo.test1 och dbo.test2.

      Du kan blanda båda formaten med kommatecken. Upp till 100 tabeller kan anges, med varje tabellnamn (inklusive schemanamnet) begränsat till 128 tecken om du använder fullständiga tabellidentifierare direkt.

    • Server-ID: Ange ett unikt värde för varje server och replikeringsklient i MySQL-klustret. Standardvärdet är 1000.

    • Port: Standardvärdet är 3306. Om den valda molnanslutningen har konfigurerats i Hantera anslutningar och gatewayerkontrollerar du att portnumret matchar den som anges där. Om de inte matchar har portnumret i molnanslutningen i Hantera anslutningar och gatewayer företräde.

    • Läge för låsning av ögonblicksbilder: Välj Avancerade inställningar för att välja läge för ögonblicksbildslåsning. Alternativen är:

      • Minimal (standard): Rymmer endast ett globalt skrivlås under den inledande fasen för att samla in schema och metadata. Resten av snapshoten använder en REPEATABLE READ-transaktion som tillåter uppdateringar medan data läses.

      • Extended: Bibehåller ett globalt läslås under hela snapshotens varaktighet och blockerar alla skrivningar. Använd för fullständig konsekvens om skrivblockering är accepterad.

      • Ingen: Hoppar över att hämta tabelllås under ögonblicksbilden. Endast säkert om inga schemaändringar sker under processen.

        En skärmbild av att välja Tabeller, Server-ID och Port för Azure MySQL DB-anslutningen (CDC).

    Du kan också redigera källnamnet genom att välja pennknappen för Källnamn i avsnittet Strömma information till höger.

    Anteckning

    Ange ett annat server-ID för varje läsare. Varje MySQL-databasklient för att läsa binlog bör ha ett unikt ID, kallat Server-ID. MySQL Server använder det här ID:t för att underhålla nätverksanslutningen och binlogpositionen. Olika jobb som delar samma server-ID kan resultera i läsning från fel binlogposition. Därför rekommenderar vi att du anger ett annat server-ID för varje läsare.

  4. På sidan Granska + anslut väljer du Lägg till för att slutföra konfigurationen när du har granskat sammanfattningen för MySQL DB CDC-källan.

    Skärmbild som visar sidan Granska + anslut där knappen Lägg till är markerad.

Kommentar

Det maximala antalet källor och mål för en händelseström är 11.

Visa uppdaterad händelseström

  1. Du ser källan MySQL DB (CDC) som lagts till i din händelseström i Redigeringsläge.

    En skärmbild av den tillagda AZURE MySQL DB CDC-källan i redigeringsläge med knappen Publicera markerad.

  2. Välj Publicera för att publicera ändringarna och börja strömma MySQL DB CDC-data till händelseströmmen.

    En skärmbild av den tillagda CDC-källan för Azure MySQL DB i liveläge.

Andra anslutningsappar: