Partilhar via


Adicionar fonte CDC do Banco de Dados MySQL a um fluxo de eventos

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.

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 a um espaço de trabalho no modo de licença de capacidade de malha (ou) no modo de licença de avaliação com permissões de Colaborador ou superiores.
  • 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.
  • Se você não tiver um eventstream, crie um eventstream.

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

Se você ainda não adicionou nenhuma fonte ao seu fluxo de eventos, selecione Usar bloco de origem externa.

Captura de ecrã que mostra a seleção de Utilizar mosaico de origem externa.

Se estiver a adicionar a origem a um fluxo de eventos já publicado, mude para o modo de edição , selecione Adicionar origem no friso e, em seguida, selecione Fontes externas.

Captura de tela que mostra a seleção do menu Adicionar fonte a fontes externas.

Na página Selecione uma fonte de dados, procure e selecione Conectar no bloco MySQL DB (CDC).

Captura de tela que mostra a seleção do MySQL DB (CDC) como o tipo de origem no assistente Obter eventos.

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

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

    Captura de ecrã que mostra a página Ligar.

  2. 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).

  3. 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).

    Você também pode editar o nome da fonte selecionando o botão Lápis para Nome da fonte na seção Detalhes do fluxo à direita.

    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.

  4. Na página Rever + ligar, depois de rever o resumo para a origem do Azure MySQL DB CDC, selecione Adicionar para concluir a configuração.

    Captura de ecrã que mostra a página Rever + ligar com o botão Adicionar selecionado.

Nota

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

Ver fluxo de eventos atualizado

  1. 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.

  2. 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 da fonte de CDC do Banco de Dados MySQL do Azure adicionada no modo Live.

Outros conectores: