Configurar pré-requisitos de migração para MySQL
Nesta página
Para executar tarefa de sincronização de um reconhecimento de data center de origem MySQL, o reconhecimento de data center pode exigir algumas alterações de configuração. Se o Relational Migrator determinar que o reconhecimento de data center precisa de alterações de configuração, ele gerará automaticamente um script SQL com as alterações necessárias. É recomendável que um DBA revise os comandos neste script e execute sua execução no reconhecimento de data center do servidor. As configurações do servidor MySQL dependem do tipo de tarefa de sincronização:
As tarefas de sincronização de snapshots migram todos os dados e depois param.
A tarefa de sincronização contínua executa um snapshot e, em seguida, insere um estágio do CDC para replicar continuamente as alterações de dados.
Para obter detalhes sobre as versões compatíveis do MySQL, consulte Bancos de dados e versões compatíveis.
Passos
(Opcional) Configurar permissões de usuário
O código a seguir cria uma nova conta de serviço MySQL para o Relational Migrator se conectar à instância do MySQL. Como alternativa, você pode usar uma conta de serviço MySQL existente para se conectar ao Relational Migrator com as permissões apropriadas.
Criar uma conta de serviço:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; Conceda as permissões necessárias à conta de serviço:
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'; Aplique as alterações de privilégio do usuário:
FLUSH PRIVILEGES;
A execução de tarefas contínuas no Relational Migrator requer o registro a ser habilitado em sua instância do MySQL. O registro binário (Binlog) registra todas as operações na ordem em que estão comprometidas com o banco de dados de dados.
(Opcional) Configurar permissões de usuário
O código a seguir cria uma nova conta de serviço MySQL para o Relational Migrator se conectar à instância do MySQL. Como alternativa, você pode usar uma conta de serviço MySQL existente para se conectar ao Relational Migrator com as permissões apropriadas.
Criar uma conta de serviço:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; Conceda as permissões necessárias à conta de serviço:
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'; Aplique as alterações de privilégio do usuário:
FLUSH PRIVILEGES;
(Opcional) Verifique manualmente se o Binlog está ativado
O Relational Migrator verifica automaticamente essa configuração para você. Para verificar manualmente se a opção Binlog
está habilitada, utilize as queries abaixo para sua versão do MySQL:
Observação
Binlog
é automaticamente ativado por padrão nas versões 8.x
do MySQL.
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM performance_schema.global_variables WHERE variable_name='log_bin';
SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM information_schema.global_variables WHERE variable_name='log_bin';
Localize e atualize o arquivo de configuração MySQL
Execute a seguinte query SQL para obter o valor de
server_id
para sua instância MySQL:SELECT variable_value FROM performance_schema.global_variables WHERE variable_name='server_id'; SELECT variable_value FROM information_schema.global_variables WHERE variable_name='server_id'; Localize o arquivo de configuração para sua instância do MySQL executando o seguinte comando
mysqld
em seu terminal:mysql --help | findstr cnf mysql --help | grep cnf Na seção
[mysqld]
do seu arquivo de configuração MySQL adicione as seguintes linhas. Substitua o valorXXXXX
peloserver_id
da query anterior:server-id = XXXXX log_bin = mysql-bin binlog_format = ROW binlog_row_image = FULL binlog_expire_logs_seconds = 864000 server-id = XXXXX log_bin = mysql-bin binlog_format = ROW binlog_row_image = FULL expire_log_days = 10 Observação
Se você estiver MySQL executando Amazon Web Services o no RDS e backups automatizados não estiverem habilitados,
Binlog
serão desabilitados, mesmo que os valores sejam definidos no arquivo de configuração.
Saiba mais
O Relational Migrator depende do conector Debezium de código aberto para capturar alterações no nível da linha. Para mais detalhes, consulte Debezium MySQL.