Vista geral
O Database Migration Service suporta migrações únicas e contínuas de bases de dados de origem para bases de dados de destino do Cloud SQL.
As bases de dados de origem suportadas para o MySQL incluem:
- Amazon RDS 5.6, 5.7 e 8.0
- MySQL autogerido (nas instalações ou em qualquer VM na nuvem que controle totalmente) 5.5, 5.6, 5.7, 8.0
- Cloud SQL para MySQL 5.6, 5.7, 8.0 e 8.4
- Amazon Aurora 5.6, 5.7 e 8.0
- Microsoft Azure Database para MySQL 5.7 e 8.0
Para origens MySQL 8.0, o Database Migration Service também suporta as seguintes versões secundárias: 8.0.18, 8.0.26, 8.0.27, 8.0.28, 8.0.30, 8.0.31, 8.0.32, 8.0.33, 8.0.34, 8.0.35, 8.0.36, 8.0.37, 8.0.39, 8.0.40, 8.0.41 e 8.0.42.
Para configurar uma base de dados de origem, conclua os seguintes passos:
- Para origens do Cloud SQL: se estiver a migrar de uma instância do Cloud SQL que usa uma ligação de IP privada para uma instância do Cloud SQL que usa um intervalo de IP de endereços não RFC 1918, adicione o intervalo não RFC 1918 à configuração de rede da sua instância do Cloud SQL de origem. Consulte o artigo Configure redes autorizadas na documentação do Cloud SQL.
- Antes de migrar dados da base de dados de origem para a base de dados de destino, certifique-se de que interrompe todas as operações de escrita da linguagem de definição de dados (LDD) durante a fase de descarga completa. Pode usar um script para verificar se as operações de LDD foram interrompidas. Depois de a migração estar na fase de CDC, pode retomar as operações de DDL.
- Certifique-se de que a base de dados de origem não contém metadados definidos por utilizadores com a cláusula DEFINER. Consulte Crie e execute uma tarefa de migração do MySQL que contenha metadados com uma cláusula DEFINER.
- Se a sua base de dados de origem contiver objetos que referenciam tabelas nos esquemas do sistema mysql,performance_schema,information_schema,ndbinfoousys, certifique-se de que as bases de dados de réplica também contêm estas tabelas de esquemas do sistema.Se as bases de dados de réplica não tiverem estas tabelas, a tarefa de migração pode falhar com o erro Unknown table in system schema.
- Tem de definir a opção server-id para um valor igual ou superior a 1. Para mais informações, consulte o artigo Opções e variáveis de replicação e registo binário.
- Configure o registo do ID da transação global (GTID) definindo o
  GTID_MODEcomoONouOFF. O valorGTID_MODEdeON_PERMISSIVEnão é suportado.O valor que deve usar depende dos requisitos de migração: - Se
        
        migrar para uma instância de destino existente que tenha
        réplicas de leitura
        ativadas, defina GTID_MODEcomoON.
- Se estiver a usar uma transferência manual para migrar os seus dados, defina
        GTID_MODEcomoON.
 GTID_MODE, consulte Variável do sistema do ID da transação global.
- Se
        
        migrar para uma instância de destino existente que tenha
        réplicas de leitura
        ativadas, defina 
- 
     Tem de configurar a conta de utilizador usada para estabelecer ligação à base de dados de origem de modo a aceitar ligações de qualquer lugar (anfitrião = %). O acesso pode ser restrito a este utilizador num passo posterior.Para limitar a possibilidade de comprometer outros aspetos da base de dados, recomendamos que crie uma conta separada para este fim. Existem quatro tipos de combinações de migrações e despejos: - Tipo 1: migração contínua e descarga gerida
- Tipo 2: migração contínua e descarga manual
- Tipo 3: migração única e descarga gerida
- Tipo 4: migração única e descarga manual
 Os privilégios para cada tipo de migração e combinação de despejo estão listados nos separadores abaixo. Tipo 1A conta de utilizador que configurar tem de ter os seguintes privilégios: - REPLICATION SLAVE
- EXECUTE
- SELECT
- SHOW VIEW
- REPLICATION CLIENT
- RELOAD
- TRIGGER
- (Apenas para migrar do Amazon RDS e do Amazon Aurora) LOCK TABLES
 MySQL versão 8.0 ou posterior: para um desempenho ideal, certifique-se de que não concede o privilégio BACKUP_ADMINa esta conta.Tipo 2A conta de utilizador que configurar tem de ter os seguintes privilégios: - REPLICATION SLAVE
- EXECUTE
 Tipo 3A conta de utilizador que configurar tem de ter os seguintes privilégios: - SELECT
- SHOW VIEW
- TRIGGER
- (Apenas para migrar do Amazon RDS e do Amazon Aurora) LOCK TABLES
- (Para migrar de origens apenas com a definição GTID_MODE = ON)RELOAD
 MySQL versão 8.0 ou posterior: para um desempenho ideal, certifique-se de que não concede o privilégio BACKUP_ADMINa esta conta.Tipo 4Não são necessários privilégios. 
- Antes de configurar os registos binários, certifique-se de que:
  - Ative os registos binários na base de dados de origem.
- Use o registo binário baseado em linhas.
- Mantenha os registos binários durante um período suficientemente longo para suportar a migração da base de dados. Geralmente, uma semana é suficiente.
 Para configurar registos binários, expanda a secção da sua origem: MySQL autoalojadoConsoante a versão do MySQL, especifique um período com tempo suficiente para a replicação ocorrer: - MySQL 5.5 – 5.7: expire_logs_days
- MySQL 8.0: expire_logs_days,binlog_expire_logs_seconds
 Microsoft Azure Database for MySQLO registo binário está ativado por predefinição na base de dados do Microsoft Azure para MySQL. Não precisa de a ativar. Para mais informações, consulte a documentação da Microsoft. Configure os seguintes parâmetros obrigatórios: - Defina - binlog_expire_logs_secondspara um período suficientemente longo para suportar a migração da base de dados.- Para mais informações, consulte os artigos Configure os parâmetros do servidor na base de dados Azure para PostgreSQL e o parâmetro - binlog_expire_logs_secondsna documentação da Microsoft.
- Reinicie o servidor para que as alterações feitas possam entrar em vigor.
 Amazon RDSPara o Amazon RDS, define a configuração baseada em linhas no grupo de parâmetros configurando o parâmetro binlog retention hours. Este parâmetro é usado para especificar durante quantas horas o Amazon RDS deve reter ficheiros de registo binários.Para definir o período de retenção dos registos binários no Amazon RDS, use o procedimento armazenado mysql.rds_set_configuratione especifique um período com tempo suficiente para a replicação ocorrer. Por exemplo:call mysql.rds_set_configuration('binlog retention hours',168);Amazon AuroraPara o Amazon Aurora, siga estes passos: - Ative o registo binário para a sua base de dados MySQL.
- Defina o período de retenção do registo binário:
          mysql> call mysql.rds_set_configuration('binlog retention hours', 168);
- Reinicie o servidor para que as alterações feitas possam entrar em vigor.
 
- Todas as tabelas (exceto as tabelas em bases de dados do sistema) usam o motor de armazenamento InnoDB.
- A palavra-passe da conta de utilizador usada para estabelecer ligação à base de dados de origem não pode ter mais de 32 carateres. Este é um problema específico da replicação do MySQL.
- Apenas para origens da base de dados do Microsoft Azure para MySQL: verifique o valor da definição - require_secure_transport.- Por predefinição, as bases de dados do Microsoft Azure requerem encriptação SSL/TLS para todas as ligações recebidas. Consoante o valor de - require_secure_transport, use uma das seguintes definições de encriptação quando criar o perfil de ligação de origem:- Se require_secure_transportestiver definido comoon, selecione Básico, TLS ou mTLS.
- Se require_secure_transportestiver definido comooff, selecione Nenhum.
 
- Se