Pular para o conteúdo principal

Configure o MySQL no Amazon EC2 para ingestão.

info

Visualização

O conector MySQL está em versão prévia pública. Entre em contato com a equipe da sua account Databricks para solicitar acesso.

Aprenda como configurar o MySQL em execução no Amazon EC2 para ingestão de dados. Você deve ativar o registro binário e configurar a retenção do log binário para suportar a captura de dados de alterações (CDC).

Requisitos

  • MySQL versão 5.7.44 ou posterior, ou 8.0 ou posterior, instalado em seu servidor.
  • Permissão para modificar arquivos de configuração do MySQL e reiniciar o serviço MySQL.

Modifique o arquivo de configuração do MySQL.

O registro binário é configurado no arquivo de configuração do MySQL. A localização deste arquivo varia conforme o sistema operacional:

  • Linux (maioria das distribuições): /etc/my.cnf ou /etc/mysql/my.cnf
  • Linux (Debian/Ubuntu): /etc/mysql/mysql.conf.d/mysqld.cnf

Parâmetros de configuração necessários

Adicione ou modifique os seguintes parâmetros na seção [mysqld] do seu arquivo de configuração do MySQL:

ini
[mysqld]
# Enable binary logging
log-bin=mysql-bin

# Set a unique server ID (required for replication)
server-id=1

# Set binlog format to ROW for change data capture
binlog_format=ROW

# Log all columns, not just changed columns
binlog_row_image=FULL

# For MySQL 8.0 and later: Set binlog retention to 7 days (604800 seconds)
binlog_expire_logs_seconds=604800

# For MySQL 5.7: Use expire_logs_days instead
# expire_logs_days=7

Considerações sobre o ID do servidor

O parâmetro server-id deve ser um número inteiro único entre 1 e 4294967295. Se você tiver vários servidores MySQL, cada um deverá ter um ID de servidor diferente.

Para um único servidor, você pode usar server-id=1. Para vários servidores, você pode usar uma convenção como:

  • Servidor primário: server-id=1
  • Réplica 1: server-id=2
  • Réplica 2: server-id=3

Reinicie o serviço MySQL.

Após modificar o arquivo de configuração, reinicie o serviço MySQL para aplicar as alterações:

Bash
sudo systemctl restart mysql
# or
sudo systemctl restart mysqld

Verifique a configuração do binlog.

Após reiniciar o MySQL, verifique se o registro binário está configurado corretamente. Conecte-se ao MySQL e execute o comando:

SQL
-- Check if binary logging is enabled
SHOW VARIABLES LIKE 'log_bin';

-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | log_bin | ON |
-- +---------------+-------+

-- Check server ID
SHOW VARIABLES LIKE 'server_id';

-- Should return a non-zero value:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | server_id | 1 |
-- +---------------+-------+

-- Check binlog format
SHOW VARIABLES LIKE 'binlog_format';

-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | binlog_format | ROW |
-- +---------------+-------+

-- Check binlog row image
SHOW VARIABLES LIKE 'binlog_row_image';

-- Should return:
-- +------------------+-------+
-- | Variable_name | Value |
-- +------------------+-------+
-- | binlog_row_image | FULL |
-- +------------------+-------+

-- For MySQL 8.0: Check retention in seconds
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';

-- For MySQL 5.7: Check retention in days
SHOW VARIABLES LIKE 'expire_logs_days';

Considerações sobre a retenção de binlogs

A Databricks recomenda um período de retenção de binlogs de 7 dias. Definir um valor inferior pode fazer com que os binlogs sejam limpos antes que o gateway de ingestão os reproduza, o que exigiria uma refresh completa de todas as tabelas.

Monitore o uso do espaço em disco do seu servidor. Períodos de retenção mais longos exigem mais espaço de armazenamento para logs binários.

Leia o suporte à réplica

O conector MySQL suporta a ingestão de dados a partir de réplicas de leitura no EC2. Para configurar uma réplica de leitura:

  1. Configure o registro binário no servidor primário.
  2. Configure a replicação do MySQL para criar uma réplica de leitura.
  3. Verifique se a réplica de leitura tem o registro binário ativado.
  4. Utilize as strings de conexão da réplica de leitura ao criar a conexão com o Databricks .
nota

Pode haver um atraso na replicação entre o servidor primário e a réplica, o que pode afetar a atualização dos dados.

Configuração de rede

Certifique-se de que seu servidor MySQL esteja acessível a partir do Databricks:

  • Configure as regras do firewall para permitir o tráfego de entrada na porta 3306 (ou na sua porta MySQL personalizada).
  • Se estiver utilizando infraestrutura cloud , configure grupos de segurança ou ACLs de rede.
  • Para bancos de dados on-premises , assegure-se de que a conectividade de rede esteja adequada por meio de VPN, Direct Connect ou ExpressRoute.
  • Considere usar conexões SSL/TLS para maior segurança.

Exemplo de regra de grupo de segurança (EC2)

Adicione uma regra de entrada ao seu grupo de segurança do EC2:

  • Tipo: MySQL
  • Protocolo: TCP
  • Faixa de portas: 3306
  • Fonte: Intervalos de IP da Databricks

Próximos passos

Agora, um administrador pode: