Condividi tramite


Aggiungere l'origine CDC del Database MySQL a un eventstream

Nota

Questo articolo contiene riferimenti al termine SLAVE, che Microsoft non usa più. Quando il termine verrà rimosso dal software, verrà rimosso anche dall'articolo.

Questo articolo illustra come aggiungere una sorgente di acquisizione modifiche dati MySQL a un flusso di eventi. Attualmente MySQL Database CDC è supportato dai servizi seguenti a cui è possibile accedere pubblicamente ai database:

  • database di Azure per mySQL
  • Amazon RDS per MySQL
  • Amazon Aurora MySQL
  • Google Cloud SQL per MySQL (GCP).

Questa guida usa Database di Azure per MySQL CDC come esempio.

Dopo aver aggiunto l'origine CDC del database MySQL al flusso di evento, acquisisce le modifiche a livello di riga alle tabelle specificate. Queste modifiche possono quindi essere elaborate in tempo reale e inviate a destinazioni diverse per ulteriori analisi.

Nota

Questa sorgente non è supportata nelle seguenti regioni della capacità dell'area di lavoro: Stati Uniti occidentali 3, Svizzera occidentale.

Prerequisiti

  • Accesso a un'area di lavoro in modalità di licenza della capacità di Infrastruttura (o) modalità licenza di valutazione con autorizzazioni di collaboratore o superiore.
  • Accesso a un'istanza del database MySQL, ad esempio un database in Database di Azure per MySQL - Server flessibile.
  • Il database MySQL deve essere accessibile pubblicamente e non essere protetto da un firewall o in una rete virtuale.
  • Se non si dispone di un flusso di eventi, creare un flusso di eventi.

Configurare DB MySQL

Il connettore usa il connettore Debezium MySQL per acquisire le modifiche nel database MySQL. È necessario definire un utente MySQL con privilegi appropriati per tutti i database da cui Messaging Connector può acquisire le modifiche. È possibile usare direttamente l'utente amministratore per connettersi al database che normalmente dispone dei privilegi appropriati oppure seguire questa procedura per creare un nuovo utente:

Nota

Il nuovo account utente o amministratore e la password corrispondente verranno usati per connettersi al database in un secondo momento all'interno di Eventstream.

  1. Al mysql prompt dei comandi creare l'utente MySQL:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Concedere i privilegi necessari all'utente:

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

    Nota

    Quando un blocco di lettura globale non è disponibile, come nelle opzioni ospitate come Amazon RDS o Aurora, vengono usati blocchi a livello di tabella per creare uno snapshot coerente. In questo caso, è necessario concedere LOCK TABLES l'autorizzazione all'utente. Inoltre, per supportare le operazioni di FLUSH durante lo snapshot, potrebbe essere necessario concedere i privilegi RELOAD o FLUSH_TABLES.

  3. Finalizzare le autorizzazioni dell'utente:

    mysql> FLUSH PRIVILEGES;
    

Per verificare se all'utente o all'amministratore sono concessi i privilegi necessari, eseguire questo comando e quindi visualizzare i privilegi necessari nel passaggio 2:

SHOW GRANTS FOR user;

Per altre informazioni sulla concessione delle autorizzazioni necessarie all'utente, vedere Connettore Debezium per MySQL: Documentazione Debezium.

Abilitare il binlog

È necessario abilitare la registrazione binaria per la replica MySQL. I log binari registrano gli aggiornamenti dei record per gli strumenti di replica per propagare le modifiche. Questa sezione utilizza Azure Database per MySQL CDC come esempio per mostrarti i passaggi di configurazione.

  1. Nel portale di Azure, nella pagina del server del Database di Azure per MySQL, in Impostazioni selezionare Parametri del server a sinistra.

  2. Nella pagina Parametri server, configurare le seguenti impostazioni, quindi selezionare Salva.

    • Per binlog_row_image, selezionare completo.

    • Per binlog_expire_logs_seconds, impostare il numero di secondi di attesa del servizio prima che il file di log binario venga rimosso definitivamente. Impostare il valore in base alle esigenze dell'ambiente, ad esempio 86400.

    Screenshot delle impostazioni binlog per la replica in Parametri del server.

Aggiungere mySQL DB (CDC) come origine

Se non è ancora stata aggiunta alcuna origine al flusso di eventi, selezionare Usa riquadro origine esterna.

Screenshot che mostra la selezione del riquadro Usa origine esterna.

Se si aggiunge l'origine a un flusso di eventi già pubblicato, passare alla modalità modifica, selezionare Aggiungi origine sulla barra multifunzione e quindi selezionare Origini esterne.

Screenshot che mostra la selezione del menu Aggiungi origine a origini esterne.

Nella pagina Selezionare un'origine dati cercare e selezionare Connetti nel riquadro MySQL DB (CDC).

Screenshot che mostra la selezione di Database MySQL (CDC) come tipo di origine nella procedura guidata Recupera eventi.

Configurare e connettersi al database MySQL (CDC)

  1. Nella schermata Connetti selezionare Nuova connessione in Connessione per creare una connessione cloud.

    Screenshot che mostra la pagina Connetti.

  2. Immettere le impostazioni di connessione seguenti e le credenziali di connessione per il database MySQL e quindi selezionare Connetti.

    • Server: L'indirizzo del server del database MySQL, ad esempio my-mysql-server.mysql.database.azure.com.

    • Database: nome del database, ad esempio mio_database.

    • Nome connessione: generato automaticamente oppure è possibile immettere un nuovo nome per questa connessione.

    • nome utente e password: immettere le credenziali per il database MySQL. Assicurarsi di immettere l'account amministratore del server o l'account utente creato con privilegi necessari concessi.

      Screenshot delle impostazioni di connessione per il database MySQL di Azure (CDC).

  3. Immettere le seguenti informazioni per configurare il database MySQL come origine dati CDC e quindi selezionare Avanti.

    • Tabella/e: immettere un elenco di nomi tabella separati da virgole. Ogni nome di tabella deve seguire il formato <database name>.<table name>, ad esempio my_database.users.

    • ID server: immettere un valore univoco per ogni server e client di replica nel cluster MySQL. Il valore predefinito è 1000.

    • Porta: lasciare invariato il valore predefinito.

      Screenshot della selezione di Tabelle, ID server e Porta per la connessione del database MySQL di Azure (CDC).

    È anche possibile modificare il nome dell'origine selezionando il pulsante Matita per Nome origine nella sezione Dettagli flusso a destra.

    Nota

    Impostare un ID server diverso per ogni lettore. Ogni client di database MySQL per la lettura di binlog deve avere un ID univoco, denominato ID server. MySQL Server usa questo ID per mantenere la connessione di rete e la posizione binlog. Diversi processi che condividono lo stesso ID server possono causare la lettura dalla posizione binlog errata. È quindi consigliabile impostare un ID server diverso per ogni lettore.

  4. Nella pagina Rivedi e connetti, dopo aver esaminato il riepilogo per l'origine CDC del database MySQL, selezionare Aggiungi per completare la configurazione.

    Screenshot che mostra la pagina Rivedi e connetti con il pulsante Aggiungi selezionato.

Nota

Il numero massimo di fonti e destinazioni per un flusso di eventi è 11.

Visualizzare il flusso di eventi aggiornato

  1. Puoi vedere l'origine del database MySQL (CDC) aggiunta al tuo flusso di eventi in modalità Modifica .

    Screenshot dell'origine CDC del database MySQL di Azure aggiunta in Modalità modifica con il pulsante Pubblica evidenziato.

  2. Selezionare Pubblica per pubblicare le modifiche e avviare lo streaming dei dati CDC del database MySQL nel flusso di eventi.

    Screenshot dell'origine CDC del database MySQL di Azure aggiunta in modalità dinamica.

Altri connettori: