O Data Transmission Service (DTS) permite migrar bancos de dados entre instâncias por meio de um fluxo de trabalho guiado no console. Este tutorial usa como exemplo uma migração do ApsaraDB RDS for MySQL para MySQL e aborda todo o processo: conexão dos bancos de dados, seleção de objetos de migração, execução da verificação prévia, compra da instância de migração e início da tarefa.
As etapas e os parâmetros deste tutorial baseiam-se em uma migração MySQL para MySQL entre instâncias do ApsaraDB RDS for MySQL. A configuração real depende dos tipos de banco de dados de origem e de destino. Para cenários suportados, consulte Visão geral dos cenários de migração de dados .
Pré-requisitos
Antes de começar, verifique se você tem:
Bancos de dados de origem e de destino criados e executando versões suportadas. Consulte Visão geral dos cenários de migração de dados para verificar os tipos e as versões suportados.
(Para bancos de dados autogerenciados) Ambientes necessários preparados. Consulte Visão geral da preparação.
Uma conta de banco de dados na instância de origem com as permissões SELECT, REPLICATION CLIENT e REPLICATION SLAVE sobre os objetos a migrar.
Uma conta de banco de dados na instância de destino com permissões de leitura e gravação no banco de dados de destino.
Etapa 1: Abra a página Data Migration
Use o console do DTS ou do DMS para acessar a página Data Migration.
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 a instância de migração residirá.
Console do DMS
As etapas exatas podem variar conforme o modo e o layout do console do DMS. Consulte Simple mode e Customize the layout and style of the DMS console para obter detalhes.
Faça login no console do DMS.
Na barra de navegação superior, passe o ponteiro do mouse sobre Data + AI > DTS (DTS) > Data Migration.
Na lista suspensa à direita de Data Migration Tasks, selecione a região onde a instância de migração residirá.
Etapa 2: Crie uma tarefa
Clique em Create Task para abrir a página de configuração da tarefa.
Se a página exibir o botão New Configuration Page no canto superior direito, clique nele para alternar para a nova versão. Ignore esta etapa se vir Back to Previous Version, pois você já está na nova versão.
As páginas de configuração nova e anterior têm parâmetros diferentes. Use a nova versão.
Etapa 3: Configure os bancos de dados de origem e de destino
Após preencher os detalhes dos bancos de dados de origem e de destino, leia a seção Limits exibida no topo da página antes de prosseguir. Ignorar esta etapa pode causar falhas na tarefa ou inconsistência de dados.
As tabelas a seguir descrevem os parâmetros dos bancos de dados de origem e de destino. Neste exemplo, ambos são instâncias do ApsaraDB RDS for MySQL na mesma conta Alibaba Cloud.
Banco de dados de origem
|
Parâmetro |
Descrição |
|
Task Name |
Nome da tarefa do DTS. O DTS gera um nome automaticamente. Especifique um nome descritivo para facilitar a identificação da tarefa. O nome não precisa ser único. |
|
Select a DMS database instance |
Não selecionado neste exemplo. Configure os parâmetros do banco de dados abaixo. |
|
Database Type |
Tipo do banco de dados de origem. Selecione MySQL. |
|
Access Method |
Método de acesso ao banco de dados de origem. Selecione Alibaba Cloud Instance. |
|
Instance Region |
Região da instância de origem do ApsaraDB RDS for MySQL. |
|
Replicate Data Across Alibaba Cloud Accounts |
Indica se o banco de dados de origem pertence a outra conta Alibaba Cloud. Selecione No para este exemplo. |
|
RDS Instance ID |
ID da instância de origem do ApsaraDB RDS for MySQL. |
|
Database Account |
Conta de banco de dados com as permissões SELECT, REPLICATION CLIENT e REPLICATION SLAVE sobre os objetos a migrar. |
|
Database Password |
Senha da conta do banco de dados. |
|
Encryption |
Use a configuração padrão para este exemplo. |
Banco de dados de destino
|
Parâmetro |
Descrição |
|
Select a DMS database instance |
Não selecionado neste exemplo. Configure os parâmetros do banco de dados abaixo. |
|
Database Type |
Tipo do banco de dados de destino. Selecione MySQL. |
|
Access Method |
Método de acesso ao banco de dados de destino. Selecione Alibaba Cloud Instance. |
|
Instance Region |
Região da instância de destino do ApsaraDB RDS for MySQL. |
|
Replicate Data Across Alibaba Cloud Accounts |
Indica se o banco de dados de destino pertence a outra conta Alibaba Cloud. Selecione No para este exemplo. |
|
RDS Instance ID |
ID da instância de destino do ApsaraDB RDS for MySQL. |
|
Database Account |
Conta de banco de dados com permissões de leitura e gravação no banco de dados de destino. |
|
Database Password |
Senha da conta do banco de dados. |
|
Encryption |
Use a configuração padrão para este exemplo. |
Etapa 4: Teste a conectividade
Clique em Test Connectivity and Proceed na parte inferior da página.
O DTS atualiza automaticamente as configurações de firewall com base no local de hospedagem dos bancos de dados:
Instâncias de banco de dados Alibaba Cloud (como ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB): o DTS adiciona seus blocos CIDR de servidor à lista de permissões de endereços IP da instância.
Bancos de dados autogerenciados em uma única instância Elastic Compute Service (ECS): o DTS adiciona seus blocos CIDR de servidor às regras do grupo de segurança do ECS. Verifique se a instância ECS consegue alcançar o banco de dados.
Bancos de dados autogerenciados em várias instâncias ECS: adicione manualmente os blocos CIDR do servidor DTS às regras do grupo de segurança de cada instância ECS.
Bancos de dados locais ou de nuvem de terceiros: adicione manualmente os blocos CIDR do servidor DTS à lista de permissões de endereços IP do banco de dados. Consulte Add the CIDR blocks of DTS servers.
Adicionar blocos CIDR do DTS à lista de permissões ou às regras do grupo de segurança introduz riscos de segurança. Antes de migrar dados, tome medidas preventivas, como fortalecer credenciais, limitar portas expostas, autenticar chamadas de API, auditar regras da lista de permissões regularmente e usar Express Connect, VPN Gateway ou Smart Access Gateway para conectar o banco de dados ao DTS.
Etapa 5: Configure os objetos de migração
Escolha o que migrar
Na página Configure Objects, selecione os objetos e os tipos de migração.
Neste exemplo, selecione Schema Migration, Full Data Migration e Incremental Data Migration em Migration Types e mova os objetos a migrar de Source Objects para Selected Objects.
A tabela a seguir descreve os principais parâmetros.
| Parâmetro | Descrição |
|---|---|
| Migration Types | Escolha conforme o objetivo:<br>• Schema Migration + Full Data Migration — copia os dados existentes uma única vez, sem sincronização contínua. Evite gravar no banco de dados de origem durante a migração para prevenir inconsistência de dados.<br>• Schema Migration + Full Data Migration + Incremental Data Migration — mantém o destino sincronizado durante a migração, garantindo a continuidade do serviço. Use esta opção se a aplicação precisar permanecer online durante a migração.<br><br> Nota
Se você pular a Schema Migration, certifique-se de que um banco de dados e uma tabela foram criados no banco de dados de destino para receber os dados e ative o mapeamento de nomes de objetos em Selected Objects. |
| Method to Migrate Triggers in Source Database | Defina como lidar com triggers do banco de dados de origem. Configure apenas se houver triggers para migrar. Consulte Sincronizar ou migrar triggers do banco de dados de origem. Disponível apenas quando Schema Migration e Incremental Data Migration estiverem selecionados. |
| Enable Migration Assessment | Indica se deve avaliar a compatibilidade do esquema (comprimento de índice, procedimentos armazenados, tabelas dependentes) antes da migração. Selecionar Yes aumenta o tempo de verificação prévia. Os resultados aparecem em Assessment Result e não afetam a aprovação ou reprovação na verificação prévia. Disponível apenas quando Schema Migration estiver selecionado. |
| Processing Mode of Conflicting Tables | Defina como lidar com tabelas no destino que têm nomes iguais aos das tabelas de origem:<br>• Precheck and Report Errors — falha na verificação prévia se encontrar nomes de tabela idênticos. Para contornar conflitos, use o mapeamento de nomes de objetos para renomear tabelas no destino.<br>• Ignore Errors and Proceed — ignora a verificação de conflito de nomes. Aviso
Isso pode causar inconsistência de dados. Durante a migração completa, os registros existentes são retidos; durante a migração incremental, os registros existentes são sobrescritos. Se os esquemas diferirem, apenas algumas colunas poderão ser migradas ou a tarefa poderá falhar completamente. |
| Capitalization of Object Names in Destination Instance | Política de uso de maiúsculas e minúsculas para nomes de bancos de dados, tabelas e colunas no destino. O 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 as colunas, tabelas ou bancos de dados a migrar e clique em |
| Selected Objects | Gerencie os objetos preparados para migração:<br>• Renomear um único objeto: clique com o botão direito nele. Consulte Mapear o nome de um único objeto.<br>• Renomear vários objetos: clique em Batch Edit no canto superior direito. Consulte Mapear vários nomes de objetos de uma vez.<br>• Filtrar linhas com condições SQL: clique com o botão direito em uma tabela e especifique as condições WHERE. Consulte Definir condições de filtro.<br>• Selecionar quais operações DML ou DDL migrar: clique com o botão direito em um objeto e selecione as operações. |
Configure as definições avançadas
Clique em Next: Advanced Settings. Os valores padrão funcionam para a maioria dos cenários. Ajuste os seguintes parâmetros conforme necessário.
| Parâmetro | Descrição |
|---|---|
| Dedicated Cluster for Task Scheduling | Por padrão, o DTS usa o cluster compartilhado. Para maior estabilidade da tarefa, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS. |
| Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database. | Aplica-se quando você usa o DMS ou gh-ost para operações DDL online na origem. Importante
pt-online-schema-change não é suportado — seu uso causa falha na tarefa do DTS.<br>• Yes — migra dados de tabelas temporárias de operações DDL online. Pode introduzir latência.<br>• No, Adapt to DMS Online DDL — migra apenas o DDL original do DMS, não os dados da tabela temporária. As tabelas de destino podem ser bloqueadas.<br>• No, Adapt to gh-ost — migra apenas o DDL original do gh-ost, não os dados da tabela temporária. Suporta filtragem de tabelas shadow do gh-ost. As tabelas de destino podem ser bloqueadas. |
| Whether to Migrate Accounts | Indica se as informações da conta do banco de dados de origem devem ser migradas. Se definido como Yes, selecione as contas a migrar e verifique as permissões das contas usadas nesta tarefa. Consulte Migrar contas de banco de dados. |
| Retry Time for Failed Connections | Tempo durante o qual o DTS tenta reconectar caso perca a conectividade com o banco de dados de origem ou de destino. Intervalo válido: 10–1.440 minutos. Padrão: 720. Recomendamos definir o parâmetro com um valor superior a 30 minutos. Se o DTS reconectar dentro dessa janela, a tarefa será retomada; caso contrário, ela falhará. Nota
Se várias tarefas compartilharem o mesmo banco de dados de origem ou de destino, a janela de tentativa definida mais recentemente entrará em vigor. As cobranças do DTS continuam a acumular durante as tentativas de reconexão. |
| Retry Time for Other Issues | Tempo durante o qual o DTS tenta repetir operações DDL ou DML com falha. Intervalo válido: 1–1.440 minutos. Padrão: 10. Recomendamos definir o parâmetro com um valor superior a 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Indica se deve limitar a velocidade de migração durante a migração completa de dados. Durante essa fase, o DTS utiliza recursos de leitura e gravação dos bancos de dados de origem e de destino. Ative o limitador conforme as necessidades do seu negócio. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Isso reduz a carga no servidor do banco de dados de destino. Disponível apenas quando Full Data Migration estiver selecionado. |
| Enable Throttling for Incremental Data Migration | Indica se deve limitar a velocidade de migração durante a migração incremental de dados. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s). Disponível apenas quando Incremental Data Migration estiver selecionado. |
| Environment Tag | Tag para identificar o ambiente da instância do DTS. Selecione conforme o seu ambiente (por exemplo, produção ou staging). |
| Configure ETL | Indica se deve ativar o processamento de extração, transformação e carga (ETL) nos dados migrados. Selecione Yes para inserir instruções de processamento de dados no editor de código. 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 | Indica se o DTS grava operações SQL nas tabelas de heartbeat enquanto a instância está em execução.<br>• Yes — não grava SQL de heartbeat. A latência pode parecer inflada no monitoramento.<br>• No — grava SQL de heartbeat. O backup físico e a clonagem do banco de dados de origem podem ser afetados. |
| Monitoring and Alerting | Indica se devem ser configurados alertas para falhas na tarefa ou latência acima de um limiar. Selecione Yes para definir limiares e contatos de notificação. Consulte Configurar monitoramento e alertas ao criar uma tarefa do DTS. |
Configure a verificação de dados
Clique em Next Step: Data Verification para configurar opcionalmente uma tarefa de verificação de dados. Consulte Configurar uma tarefa de verificação de dados.
Etapa 6: Execute a verificação prévia
Clique em Next: Save Task Settings and Precheck na parte inferior da página.
Para visualizar os parâmetros da OpenAPI desta configuração de tarefa antes de salvar, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.
O DTS executa uma verificação prévia antes de iniciar a migração. A tarefa só pode começar após a aprovação nessa verificação.
Itens com falha: Clique em View Details ao lado do item com falha, diagnostique o problema, corrija-o e clique em Precheck Again.
Itens de alerta que não podem ser ignorados: Clique em View Details, corrija o problema e clique em Precheck Again.
Itens de alerta que podem ser ignorados: Clique em Confirm Alert Details > Ignore > OK e, em seguida, clique em Precheck Again. Ignorar alertas pode resultar em inconsistência de dados.
Etapa 7: Compre uma 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 a instância.
|
Parâmetro |
Descrição |
|
Resource Group |
Grupo de recursos para a instância de migração. Padrão: default resource group. Consulte What is Resource Management? |
|
Instance Class |
A classe da instância determina a velocidade da migração. Selecione conforme o volume de dados e os requisitos de tempo. Consulte Classes de instâncias de migração de dados. |
Marque a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms e clique em Buy and Start. Clique em OK na caixa de diálogo de confirmação.
A tarefa começa a ser executada. Acompanhe o progresso na página Data Migration.
Próximos passos
Visão geral dos cenários de migração de dados — explore outras combinações suportadas de bancos de dados de origem e de destino.
Configurar uma tarefa de verificação de dados — verifique a consistência dos dados após a conclusão da migração.
Mapear nomes de objetos — renomeie bancos de dados, tabelas ou colunas no destino.