Adicionar fonte CDC do Banco de Dados MySQL a um fluxo de eventos (visualização)

Nota

Este artigo contém referências ao termo SLAVE, um termo que a Microsoft já não utiliza. Quando o termo for removido do software, iremos removê-lo deste artigo.

Este artigo mostra como adicionar uma fonte do Banco de Dados do Azure para MySQL Change Data Capture a um fluxo de eventos. O conector de origem CDC (Change Data Capture) do Banco de Dados MySQL do Azure para fluxos de eventos do Microsoft Fabric permite capturar um instantâneo dos dados atuais em um banco de dados do Banco de Dados do Azure para MySQL.

Você pode especificar as tabelas a serem monitoradas e o fluxo de eventos registra quaisquer alterações futuras no nível da linha nas tabelas. Depois que as alterações forem capturadas no fluxo de eventos, você poderá processar esses dados CDC em tempo real e enviá-los para diferentes destinos no Fabric para processamento ou análise adicionais.

Importante

Os recursos aprimorados dos fluxos de eventos do Fabric estão atualmente em visualização.

Nota

Esta origem não é suportada nas seguintes regiões da capacidade do seu espaço de trabalho: Oeste US3, Suíça Oeste.

Pré-requisitos

  • Acesso ao espaço de trabalho premium do Fabric com permissões de Colaborador ou superior.
  • Acesso a uma instância do Banco de Dados do Azure para MySQL - Servidor Flexível.
  • Seu banco de dados MySQL deve ser acessível publicamente e não estar protegido em um firewall ou protegido em uma rede virtual.

Nota

O número máximo de fontes e destinos para um eventstream é 11.

Configurar o banco de dados MySQL

O conector usa o conector Debezium MySQL para capturar alterações em seu banco de dados do Azure para MySQL. Você deve definir um usuário MySQL com privilégios apropriados em todos os bancos de dados de onde o Messaging Connector pode capturar as alterações. Você pode usar diretamente o usuário administrador para se conectar ao banco de dados que normalmente já tem os privilégios apropriados como abaixo. ou você pode seguir as etapas abaixo para criar um novo usuário

Nota

A nova conta de usuário ou administrador e a senha correspondente serão usadas para se conectar ao banco de dados posteriormente dentro do Eventstream.

  1. No prompt de comando, crie o mysql usuário MySQL:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. Conceda os privilégios necessários ao usuário:

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. Finalize as permissões do usuário:

    mysql> FLUSH PRIVILEGES;
    

Para confirmar se o usuário ou administrador tem os privilégios necessários concedidos, execute o comando abaixo e, em seguida, os privilégios necessários na etapa #2 acima devem ser mostrados.

SHOW GRANTS FOR user;

Para obter mais informações sobre como conceder as permissões necessárias ao usuário, consulte Debezium connector for MySQL :: Debezium Documentation.

Ativar o binlog

Você deve habilitar o log binário para replicação do MySQL. Os logs binários registram atualizações de transações para ferramentas de replicação para propagar alterações.

  1. Na página do portal do Azure para sua conta do Banco de Dados do Azure para MySQL, selecione Parâmetros do servidor em Configurações na navegação à esquerda.

  2. Na página Parâmetros do servidor, configure as seguintes propriedades e selecione Salvar.

    • Para binlog_row_image, selecione completo.

    • Por binlog_expire_logs_seconds, defina o número de segundos que o serviço aguarda antes que o arquivo de log binário seja limpo. Defina o valor para corresponder às necessidades do seu ambiente, por exemplo 86400.

    Uma captura de tela das configurações de binlog para replicação em Parâmetros do servidor.

Adicionar Azure MySQL DB (CDC) como origem

  1. Em Fabric Real-Time Intelligence, selecione Eventstream para criar um novo eventstream. Certifique-se de que a opção Capacidades Avançadas (pré-visualização) está ativada.

    Uma captura de tela da criação de um novo fluxo de eventos.

  2. Na tela seguinte, selecione Adicionar fonte externa.

    Uma captura de tela mostrando a seleção Adicionar fonte externa.

Configurar e conectar-se ao Azure MySQL DB (CDC)

  1. Na tela Selecionar uma fonte de dados, selecione Azure MySQL DB (CDC) como a fonte de dados.

    Uma captura de tela da seleção do Azure MySQL DB (CDC).

  2. No ecrã Ligar, em Ligação, selecione Nova ligação para criar uma ligação à nuvem.

  3. Insira as seguintes configurações de conexão e credenciais de conexão para seu banco de dados MySQL do Azure e selecione Conectar.

    • Servidor: O endereço do servidor do seu banco de dados do Azure para MySQL, por exemplo , my-mysql-server.mysql.database.azure.com.
    • Banco de dados: O nome do banco de dados, por exemplo , my_database.
    • Nome da conexão: gerado automaticamente ou você pode inserir um novo nome para essa conexão.
    • Nome de usuário e senha: insira as credenciais do Banco de Dados do Azure para banco de dados MySQL. Certifique-se de inserir a conta de administrador do servidor ou a conta de usuário criada com os privilégios necessários concedidos.

    Uma captura de tela das configurações de conexão para o Azure MySQL DB (CDC).

  4. Insira as seguintes informações para configurar a fonte de dados do Azure MySQL DB CDC e selecione Avançar.

    • Tabela(s): insira uma lista de nomes de tabelas separados por vírgulas. Cada nome de tabela deve seguir o formato <database name>.<table name>, por exemplo , my_database.users.
    • ID do servidor: insira um valor exclusivo para cada servidor e cliente de replicação no cluster MySQL. O valor predefinido é 1000.
    • Porta: Deixe o valor padrão inalterado.

    Uma captura de tela da seleção de Tabelas, ID do Servidor e Porta para a conexão do Azure MySQL DB (CDC).

    Nota

    Defina um ID de servidor diferente para cada leitor. Cada cliente de banco de dados MySQL para leitura binlog deve ter um id exclusivo, chamado Server ID. O MySQL Server usa esse ID para manter a conexão de rede e a posição do binlog. Trabalhos diferentes compartilhando a mesma ID do servidor podem resultar na leitura da posição errada do binlog. Portanto, é recomendável definir um ID de servidor diferente para cada leitor.

  5. Depois de revisar o resumo para a origem do CDC do Banco de Dados MySQL do Azure, selecione Adicionar para concluir a configuração.

Você vê a fonte do Azure MySQL DB (CDC) adicionada ao seu fluxo de eventos no modo de edição.

Uma captura de tela da fonte de CDC do Azure MySQL DB adicionada no modo de edição com o botão Publicar realçado.

Selecione Publicar para publicar as alterações e começar a transmitir dados do Azure MySQL DB CDC para o fluxo de eventos.

Uma captura de tela do fluxo de eventos publicado com a fonte de CDC do Banco de Dados MySQL do Azure na Exibição ao Vivo.

Outros conectores: