Configure o MySQL no Amazon EC2 para ingestão.
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.cnfou/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:
[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:
- Linux (systemd)
- Linux (init.d)
sudo systemctl restart mysql
# or
sudo systemctl restart mysqld
sudo service mysql restart
# or
sudo /etc/init.d/mysql restart
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:
-- 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:
- Configure o registro binário no servidor primário.
- Configure a replicação do MySQL para criar uma réplica de leitura.
- Verifique se a réplica de leitura tem o registro binário ativado.
- Utilize as strings de conexão da réplica de leitura ao criar a conexão com o Databricks .
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:
- Use o Catalog Explorer para criar uma conexão, permitindo que usuários sem privilégios de administrador criem pipelines.
- Utilize a interface de ingestão de dados para criar uma conexão e um pipeline.