Use o Data Transmission Service (DTS) para migrar dados de uma instância do Google Cloud SQL for MySQL para uma instância do ApsaraDB RDS for MySQL com tempo de inatividade mínimo. O DTS oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados.
Neste guia, você vai:
Revisar os pré-requisitos e limites dos bancos de dados de origem e de destino
Configurar o log binário no Google Cloud SQL for MySQL (obrigatório para migração incremental)
Crie e execute uma tarefa de migração do DTS
Concluir a limpeza pós-migração
Pré-requisitos
Antes de começar, verifique se você tem:
Origem: Google Cloud SQL for MySQL
Acesso público ativado na instância, com o endpoint público e a porta disponíveis
Uma conta privilegiada criada na instância
Para mais detalhes, consulte a documentação do Google Cloud SQL for MySQL.
Destino: ApsaraDB RDS for MySQL
Uma instância do ApsaraDB RDS for MySQL criada. Consulte Criar uma instância do ApsaraDB RDS for MySQL.
Uma conta com permissões de leitura e gravação criada. Consulte Criar bancos de dados e contas para uma instância do ApsaraDB RDS for MySQL.
Limites
A migração de esquema não oferece suporte a eventos.
O DTS lê valores das colunas FLOAT e DOUBLE usando a função
round(column,precision). Se a precisão não for especificada, os valores FLOAT usam precisão de 38 bits e os valores DOUBLE usam precisão de 308 bits. Verifique se esses níveis de precisão atendem aos seus requisitos antes da migração.Se o mapeamento de nomes de objetos for aplicado a um objeto, outros objetos dependentes poderão falhar na migração.
For incremental data migration only:
O log binário deve estar ativado na instância do Google Cloud SQL for MySQL.
Defina o parâmetro
binlog_formatcomorow.Para MySQL 5.6 ou superior: defina o parâmetro
binlog_row_imagecomofull.Caso ocorra migração entre hosts ou reconstrução na instância de origem durante a migração incremental, os IDs dos arquivos de log binário podem ficar desordenados e dados incrementais podem ser perdidos.
Para obter instruções sobre como modificar esses parâmetros, consulte a documentação do Google Cloud SQL for MySQL .
Configurar log binário para migração incremental
Ignore esta seção se estiver realizando apenas a migração completa de dados.
Para a migração incremental de dados (CDC), ative o log binário na sua instância do Google Cloud SQL for MySQL e defina os seguintes parâmetros:
|
Parâmetro |
Valor obrigatório |
Importância |
|
|
|
Captura alterações no nível de linha, garantindo replicação precisa |
|
|
|
Obrigatório para MySQL 5.6 e superior; captura imagens completas das linhas para que o DTS possa reconstruir as alterações |
O Google Cloud SQL fornece uma opção integrada para ativar o log binário. No console do Google Cloud, acesse as configurações da sua instância do Cloud SQL e ative Binary logging na seção Backups.
Migrar dados
O DTS retoma automaticamente tarefas de migração anormais executadas nos últimos sete dias. Como resultado, os dados do banco de dados de origem podem sobrescrever dados de serviço já gravados na instância de destino. Após a conclusão da migração, execute a instrução REVOKE para revogar as permissões de gravação da conta do DTS na instância do ApsaraDB RDS for MySQL.
Etapa 1: Acesse a página de Migração de Dados
Use um dos métodos a seguir:
Console do DTS
Faça login no console do DTS.
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo, selecione a região onde reside a instância de migração.
Console do Data Management Service (DMS)
As etapas podem variar dependendo do modo e do layout do console do DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS .
Faça login no console do DMS.
Na barra de navegação superior, passe o ponteiro sobre Data + AI > DTS (DTS) > Data Migration.
Na lista suspensa à direita de Data Migration Tasks, selecione a região.
Etapa 2: Configurar os bancos de dados de origem e de destino
Clique em Create Task. Na página de configuração da tarefa, preencha os seguintes campos:
Após configurar os bancos de dados de origem e de destino, revise os Limits exibidos na parte superior da página antes de prosseguir. Ignorar esses limites pode causar falha na tarefa ou resultar em inconsistência de dados.
Source Database
|
Parâmetro |
Valor |
|
Select a DMS database instance. |
Selecione uma instância existente ou configure manualmente |
|
Database Type |
MySQL |
|
Connection Type |
Public IP Address |
|
Instance Region |
Região mais próxima da instância de origem |
|
Domain name or IP |
Endereço ip público da instância do Google Cloud SQL. Para encontrá-lo: no painel de navegação à esquerda da sua instância do Cloud SQL, clique em Connections. Na aba SUMMARY, em Networking, copie o valor de Public IP address. |
|
Port |
3306 (padrão) |
|
Database Account |
A conta privilegiada na instância de origem |
|
Database Password |
Senha da conta |
Destination Database
|
Parâmetro |
Valor |
|
Select a DMS database instance. |
Selecione uma instância existente ou configure manualmente |
|
Database Type |
MySQL |
|
Connection Type |
Alibaba Cloud Instance |
|
Instance Region |
Região da instância RDS de destino |
|
Replicate Data Across Alibaba Cloud Accounts |
No |
|
RDS Instance ID |
ID da instância do ApsaraDB RDS for MySQL de destino |
|
Database Account |
A conta com permissões de leitura e gravação |
|
Database Password |
Senha da conta |
|
Connection Method |
Selecione Non-encrypted ou SSL-encrypted. Se usar criptografia ssl, ative o ssl na instância RDS primeiro. Consulte Usar um certificado de nuvem para ativar a criptografia SSL. |
Etapa 3: Testar conectividade
Clique em Test Connectivity and Proceed.
O DTS precisa de acesso a ambos os bancos de dados. Se o banco de dados de origem tiver uma lista de permissões de endereços ip configurada, adicione os blocos CIDR dos servidores do DTS à lista de permissões. Consulte Adicionar os blocos CIDR dos servidores do DTS .
Adicionar blocos CIDR de servidores do DTS a uma lista de permissões de banco de dados ou a regras de grupo de segurança do ecs pode introduzir riscos de segurança. Antes de prosseguir, tome precauções como impor credenciais fortes, restringir portas expostas, auditar chamadas de API e revisar as regras da lista de permissões regularmente. Alternativamente, conecte o banco de dados de origem ao DTS usando Express Connect, VPN Gateway ou Smart Access Gateway.
Etapa 4: Selecione objetos para migrar
Configure os seguintes parâmetros:
Migration Types
Escolha com base nos seus requisitos:
Apenas migração completa: Selecione Schema Migration e Full Data Migration. Recomendamos não gravar dados no banco de dados de origem durante a migração para garantir a consistência dos dados.
Migração com tempo de inatividade mínimo: Selecione Schema Migration, Full Data Migration e Incremental Data Migration.
Se Schema Migration não estiver selecionado, crie o banco de dados e a tabela de destino manualmente antes de iniciar e ative o mapeamento de nomes de objetos em Selected Objects .
Se Incremental Data Migration não estiver selecionado, evite gravar dados no banco de dados de origem durante a migração.
Processing Mode for Existing Destination Tables
|
Opção |
Comportamento |
|
Precheck and Report Errors |
Verifica tabelas com nomes idênticos na origem e no destino. A tarefa falha na pré-verificação se existirem conflitos. Use o mapeamento de nomes de objetos para renomear tabelas conflitantes. Consulte Mapear nomes de objetos. |
|
Ignore Errors and Proceed |
Ignora a pré-verificação de conflitos de nomes. Durante a migração completa, os registros existentes no destino são mantidos. Durante a migração incremental, os registros existentes são sobrescritos. Se os esquemas forem diferentes, apenas colunas específicas serão migradas ou a tarefa poderá falhar. |
Outros parâmetros
|
Parâmetro |
Descrição |
|
Method to Migrate Triggers in Source Database |
Selecione um método com base nos seus requisitos. Configure apenas quando Schema Migration estiver selecionado. Consulte Sincronizar ou migrar gatilhos do banco de dados de origem. |
|
Enable Migration Assessment |
Quando definido como Yesconfigurações de notificação de alerta, o DTS verifica se os esquemas de origem e destino atendem aos requisitos de migração (comprimento de índice, procedimentos armazenados, tabelas dependentes). Configurável apenas quando Schema Migration estiver selecionado. Os resultados não afetam o resultado da pré-verificação. |
|
Capitalization of Object Names in Destination Instance |
Controla o uso de maiúsculas e minúsculas nos nomes de bancos de dados, tabelas e colunas no destino. Padrão: DTS default policy. Consulte Especificar o uso de maiúsculas e minúsculas nos nomes de objetos na instância de destino. |
|
Source Objects |
Selecione os objetos a serem migrados e clique em |
|
Selected Objects |
Clique com o botão direito em um objeto para renomeá-lo ou definir uma condição WHERE para filtragem de linhas. Clique em Batch Edit para renomear vários objetos de uma vez. Consulte Mapear nomes de objetos e Especificar condições de filtro. |
Etapa 5: Configurar definições avançadas
Clique em Next: Advanced Settings.
Configurações de verificação de dados
Para verificar a integridade dos dados após a migração, configure uma tarefa de verificação de dados. Consulte Configurar uma tarefa de verificação de dados.
Configurações avançadas
| Parâmetro | Descrição |
|---|---|
| Dedicated Cluster for Task Scheduling | Por padrão, o DTS agenda a tarefa em um cluster compartilhado. Para usar um cluster dedicado, adquira um primeiro. Consulte O que é um cluster dedicado do DTS? |
| Monitoring and Alerting | Configure alertas para falhas de tarefa ou latência que exceda um limiar. Consulte Configurar monitoramento e alertas. |
| Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database. | Controla o tratamento de tabelas temporárias de operações DDL online (apenas DMS ou gh-ost). Importante
O pt-online-schema-change não é suportado e causará falha na tarefa. |
| Retry Time for Failed Connections | Tempo durante o qual o DTS tenta reconectar após falhas antes de marcar a tarefa como falha. Intervalo: 10–1.440 minutos. Padrão: 720 minutos. Defina como 30 ou superior. Se várias tarefas compartilharem a mesma origem ou destino, o menor tempo de nova tentativa será aplicado. |
| Retry Time for Other Issues | Tempo durante o qual o DTS tenta novamente operações DDL ou DML com falha. Intervalo: 1–1.440 minutos. Padrão: 10 minutos. Defina um valor maior que 10. Deve ser menor que Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Limita consultas por segundo (QPS) ao banco de dados de origem, linhas por segundo (RPS) e velocidade de migração (MB/s) durante a migração completa. Disponível apenas quando Full Data Migration estiver selecionado. |
| Enable Throttling for Incremental Data Migration | Limita RPS e velocidade de migração (MB/s) durante a migração incremental. Disponível apenas quando Incremental Data Migration estiver selecionado. |
| Environment Tag | Opcional. Aplique uma tag de ambiente à tarefa de migração. |
| Configure ETL | Ative o recurso de extração, transformação e carga (ETL) para processar dados durante a migração. Consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Controla se o DTS grava operações SQL nas tabelas de heartbeat no banco de dados de origem. Selecionar Yes impede gravações, mas pode exibir latência de migração. Selecionar No permite gravações, mas pode afetar o backup físico e a clonagem da origem. |
Etapa 6: Execute a pré-verificação
Clique em Next: Save Task Settings and Precheck.
Para revisar os parâmetros da API desta tarefa, passe o ponteiro sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters .
O DTS executa uma pré-verificação antes que a tarefa de migração possa começar. Após a conclusão da pré-verificação:
Itens aprovados: Nenhuma ação necessária.
Itens com falha: Clique em View Details ao lado do item com falha. Corrija o problema e clique em Precheck Again.
-
Itens de alerta:
Se o alerta não puder ser ignorado: clique em View Details, corrija o problema e execute a pré-verificação novamente.
Se o alerta puder ser ignorado: clique em Confirm Alert Details > Ignore > OK > Precheck Again. Observe que ignorar alertas pode causar inconsistência de dados.
Etapa 7: Adquirir a instância de migração
Aguarde até que a Success Rate atinja 100% e clique em Next: Purchase Instance.
Na página Purchase Instance, configure o seguinte:
|
Parâmetro |
Descrição |
|
Resource Group |
O grupo de recursos para a instância de migração. Padrão: default resource group. Consulte O que é o Resource Management? |
|
Instance Class |
A velocidade de migração varia conforme a classe da instância. Selecione com base no volume de dados e nos requisitos de tempo. Consulte Classes de instâncias de migração de dados. |
Etapa 8: Iniciar a migração
Leia e marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms.
Clique em Buy and Start e clique em OK na caixa de diálogo de confirmação.
Acompanhe o progresso na página Data Migration.
Próximas etapas
Após a conclusão da tarefa de migração:
Execute a instrução
REVOKEpara revogar as permissões de gravação da conta do DTS na instância do ApsaraDB RDS for MySQL. Isso evita sobrescritas acidentais caso o DTS retome a tarefa.Verifique a integridade dos dados usando o recurso de verificação de dados. Consulte Configurar uma tarefa de verificação de dados.
Atualize as strings de conexão da sua aplicação para apontar para a instância do ApsaraDB RDS for MySQL.