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.
Al
mysql
prompt dei comandi creare l'utente MySQL:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
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 diFLUSH
durante lo snapshot, potrebbe essere necessario concedere i privilegiRELOAD
oFLUSH_TABLES
.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.
Nel portale di Azure, nella pagina del server del Database di Azure per MySQL, in Impostazioni selezionare Parametri del server a sinistra.
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.
Aggiungere mySQL DB (CDC) come origine
Se non è ancora stata aggiunta alcuna origine al flusso di eventi, selezionare Usa riquadro 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.
Nella pagina Selezionare un'origine dati cercare e selezionare Connetti nel riquadro MySQL DB (CDC).
Configurare e connettersi al database MySQL (CDC)
Nella schermata Connetti selezionare Nuova connessione in Connessione per creare una connessione cloud.
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.
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.
È 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.
Nella pagina Rivedi e connetti, dopo aver esaminato il riepilogo per l'origine CDC del database MySQL, selezionare Aggiungi per completare la configurazione.
Nota
Il numero massimo di fonti e destinazioni per un flusso di eventi è 11.
Visualizzare il flusso di eventi aggiornato
Puoi vedere l'origine del database MySQL (CDC) aggiunta al tuo flusso di eventi in modalità Modifica .
Selezionare Pubblica per pubblicare le modifiche e avviare lo streaming dei dati CDC del database MySQL nel flusso di eventi.
Contenuto correlato
Altri connettori:
- Flussi di dati Amazon Kinesis
- Azure Cosmos DB
- Hub eventi di Azure
- Hub IoT di Azure
- Database SQL di Azure con Change Data Capture (CDC)
- Confluent Kafka
- Endpoint personalizzato
- Google Cloud Pub/Sub
- Database PostgreSQL CDC
- Dati di esempio
- Eventi di archiviazione BLOB di Azure
- Evento dell'area di lavoro di Fabric