Todos os produtos
Search
Central de documentação

Data Transmission Service:Configure uma tarefa de migração de dados

Última atualização: Oct 14, 2026

O Data Transmission Service (DTS) migra dados entre diferentes fontes de dados, com suporte a migração para cloud, migração entre instâncias na Alibaba Cloud, além de divisão e scale-out de bancos de dados. O procedimento a seguir utiliza um cluster dedicado do DTS com o ApsaraDB RDS for MySQL como origem e destino.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Um cluster dedicado do DTS. Consulte Crie um cluster dedicado do DTS

  • Instâncias de origem e de destino do ApsaraDB RDS for MySQL. Consulte Crie uma instância do ApsaraDB RDS for MySQL

  • Armazenamento disponível suficiente na instância de destino para acomodar todos os dados de origem

  • Acesso à Internet ativado para a instância de origem ou de destino, caso a instância e o cluster dedicado do DTS estejam em regiões diferentes

Faturamento

A cobrança aplica-se apenas aos recursos do cluster dedicado do DTS. A criação de uma tarefa de migração em um cluster dedicado não gera taxas adicionais. Se você migrar dados de um banco de dados da Alibaba Cloud para outra cloud, também haverá cobrança pelo tráfego de Internet. Consulte Billing of DTS dedicated clusters.

Tipos de migração

O DTS oferece suporte a três tipos de migração, combináveis conforme suas necessidades:

Tipo de migração

O que faz

Quando usar

Migração de schema

Copia os schemas de objetos (tabelas, visualizações, gatilhos, procedimentos armazenados, funções) da origem para o destino. Altera o atributo SECURITY de DEFINER para INVOKER em visualizações, procedimentos armazenados e funções. Não migra contas de usuário; conceda as permissões de leitura e gravação necessárias ao INVOKER separadamente.

Inclua sempre esta opção, a menos que o schema de destino já exista.

Migração completa de dados

Copia todos os dados existentes da origem para o destino.

Inclua esta opção para a carga inicial de dados. Não escreva na origem durante uma migração apenas completa.

Migração incremental de dados

Após a conclusão da migração completa, aplica continuamente as alterações da origem para o destino usando binary logs. Mantém a origem e o destino sincronizados sem interrupção do serviço.

Inclua esta opção para minimizar o tempo de inatividade e manter o serviço em execução durante a migração.

Combinação recomendada: Selecione os três tipos (migração de schema + migração completa de dados + migração incremental de dados) para migrar dados sem interromper sua aplicação. Utilize a migração apenas completa (migração de schema + migração completa de dados) somente para migrações únicas em que o tempo de inatividade seja aceitável.

Operações SQL com suporte para migração incremental de dados

Tipo de operação

Operações SQL

DML

INSERT, UPDATE, DELETE

DDL

ALTER TABLE, ALTER VIEW; CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW; DROP INDEX, DROP TABLE; RENAME TABLE; TRUNCATE TABLE

Permissões necessárias

Conceda às contas de banco de dados do DTS as seguintes permissões antes de iniciar a tarefa:

Banco de dados

Migração de schema

Migração completa de dados

Migração incremental de dados

ApsaraDB RDS for MySQL de origem

SELECT

SELECT

Permissões de leitura e gravação

ApsaraDB RDS for MySQL de destino

Permissões de leitura e gravação

Permissões de leitura e gravação

Permissões de leitura e gravação

Para migrar contas, a conta de origem também precisa de SELECT em mysql.user, mysql.db, mysql.columns_priv e mysql.tables_priv. A conta de destino precisa de CREATE USER e GRANT OPTION. Contas de sistema (root, mysql.infoschema, mysql.session, mysql.sys) e contas que já existem no destino não podem ser migradas.

Para obter instruções sobre como criar contas e conceder permissões, consulte Crie uma conta em uma instância do ApsaraDB RDS for MySQL e Modifique as permissões de uma conta padrão em uma instância do ApsaraDB RDS for MySQL.

Limites

Durante a migração de schema, o DTS migra chaves estrangeiras da origem para o destino. Durante a migração completa de dados e a migração incremental de dados, o DTS desativa temporariamente as verificações de restrição de chave estrangeira e as operações em cascata no nível da sessão. Se você executar operações em cascata ou exclua registros na origem durante a migração, poderá ocorrer inconsistência de dados.

Categoria

Limite

Source database

O servidor de origem deve ter largura de banda de saída suficiente. A largura de banda insuficiente reduz a velocidade da migração.

As tabelas devem ter chaves primárias ou restrições UNIQUE com todos os campos exclusivos. Sem essas restrições, o banco de dados de destino pode conter registros duplicados.

Se você selecionar tabelas como objetos de migração e precisar renomear tabelas ou colunas no destino, uma única tarefa oferece suporte a até 1.000 tabelas. Se você exceder esse limite, ocorrerá um erro de solicitação. Divida as tabelas em várias tarefas ou migre o banco de dados inteiro.

Para migração incremental de dados: defina binlog_format como row, defina binlog_row_image como full e ative o binary logging. Se o banco de dados MySQL autogerenciado for executado em um cluster dual-primary, defina log_slave_updates como ON para que o DTS possa ler todos os binary logs.

Para migração apenas incremental: retenha os binary logs por mais de 24 horas. Para migração completa de dados combinada com migração incremental de dados: retenha os binary logs por pelo menos 7 dias. Após a conclusão da migração completa, você pode reduzir a retenção para mais de 24 horas. A retenção insuficiente faz com que o DTS não consiga obter os binary logs, o que pode resultar em falha na tarefa ou perda de dados.

Não execute operações DDL durante a migração de schema ou a migração completa de dados. Não escreva no banco de dados de origem durante uma migração apenas completa. Fazer isso causa inconsistência de dados.

O DTS não oferece suporte à divisão da migração completa de dados em várias execuções. A migração completa de dados deve ser concluída em uma única execução. Para migrar dados em lotes, configure várias tarefas de migração.

Outros

Utilize a mesma versão do mecanismo para os bancos de dados MySQL de origem e de destino.

Execute as migrações fora dos horários de pico. A migração completa de dados utiliza recursos de leitura e gravação em ambas as instâncias e aumenta a carga do servidor.

A migração completa de dados causa fragmentação nas tabelas de destino devido a operações INSERT simultâneas. Como resultado, o tablespace de destino fica maior que o tablespace de origem após a migração.

O DTS usa ROUND(COLUMN,PRECISION) para ler colunas FLOAT e DOUBLE. A precisão padrão é de 38 dígitos para FLOAT e 308 dígitos para DOUBLE. Verifique se essas configurações de precisão atendem aos seus requisitos.

O DTS repete automaticamente as tarefas com falha por até 7 dias. Antes de alternar as cargas de trabalho para o banco de dados de destino, pare ou libere a tarefa de migração, ou execute REVOKE para remover as permissões de gravação do DTS no destino. Caso contrário, a tarefa retomada sobrescreverá os dados de destino com os dados de origem.

Casos especiais

Para MySQL autogerenciado: um failover primário/secundário durante uma tarefa de migração ativa causa a falha da tarefa.

Para MySQL autogerenciado: se nenhuma operação DML for executada na origem por um longo período, o relatório de latência da migração pode ser impreciso. Atualize a latência executando uma operação DML na origem. Se você migrar um banco de dados inteiro, crie uma tabela de heartbeat que grave dados a cada segundo.

O DTS executa periodicamente CREATE DATABASE IF NOT EXISTS \test\`` no banco de dados de origem para avançar a posição do binary log.

Para destinos ApsaraDB RDS for MySQL: o DTS cria automaticamente o banco de dados de destino, a menos que o nome do banco de dados de origem seja inválido. Se o nome for inválido, crie o banco de dados manualmente e configure a tarefa.

Configure uma tarefa de migração

A configuração possui quatro etapas: conectar os bancos de dados de origem e de destino, selecionar os objetos de migração, configurar as definições avançadas e iniciar a tarefa.

Etapa 1: Conectar os bancos de dados de origem e de destino

  1. Acesse a página Dedicated Cluster.

  2. Na barra de navegação superior, selecione a região onde reside o seu cluster dedicado do DTS.

  3. Encontre o cluster e, na coluna Actions, escolha Configure Task > Configure Data Migration Task.

  4. Na página de configuração, leia o aviso de Limits na parte superior antes de continuar.

  5. Configure os parâmetros de Source Database:

    Parâmetro

    Descrição

    Task Name

    Gerado automaticamente. Especifique um nome descritivo para identificar a tarefa. O nome não precisa ser exclusivo.

    Select an existing database connection (opcional)

    Selecione uma conexão existente para preencher automaticamente os parâmetros de origem. Ignore esta opção se você configurar manualmente.

    Database Type

    Selecione MySQL.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Definido pelo cluster dedicado do DTS. Não pode ser alterado.

    Replicate Data Across Alibaba Cloud Accounts

    Selecione No para migração na mesma conta.

    RDS Instance ID

    O ID da instância de origem do ApsaraDB RDS for MySQL. A origem e o destino podem ser a mesma instância.

    Database Account

    A conta com as permissões listadas em Permissões necessárias.

    Database Password

    Senha da conta do banco de dados.

    Connection Method

    Selecione Non-encrypted ou SSL-encrypted. Para criptografia SSL, Use a cloud certificate to enable SSL encryption antes de iniciar esta tarefa.

  6. Configure os parâmetros de Destination Database:

    Parâmetro

    Descrição

    Select an existing DMS database instance (opcional)

    Selecione uma conexão existente para preencher automaticamente os parâmetros de destino. Ignore esta opção se você configurar manualmente.

    Database Type

    Selecione MySQL.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Definido pelo cluster dedicado do DTS. Não pode ser alterado.

    RDS Instance ID

    O ID da instância de destino do ApsaraDB RDS for MySQL.

    Database Account

    A conta com as permissões listadas em Permissões necessárias.

    Database Password

    Senha da conta do banco de dados.

    Connection Method

    Selecione Non-encrypted ou SSL-encrypted. Para criptografia SSL, Use a cloud certificate to enable SSL encryption antes de iniciar esta tarefa.

  7. Clique em Test Connectivity and Proceed. O DTS adiciona automaticamente seus blocos CIDR de servidor à lista de permissões de IP das instâncias de banco de dados da Alibaba Cloud ou às regras do grupo de segurança de uma instância ECS que hospeda um banco de dados autogerenciado. Para bancos de dados autogerenciados em data centers on-premises ou cloud de terceiros, adicione manualmente os blocos CIDR do servidor DTS à lista de permissões de IP do banco de dados. Consulte Whitelist DTS server IP addresses.

    Aviso

    Adicionar blocos CIDR do servidor DTS às listas de permissões de IP ou às regras do grupo de segurança gera exposição de segurança. Antes de continuar, fortaleça a segurança de contas e senhas, limite as portas expostas, autentique as chamadas de API, audite regularmente a lista de permissões de IP e as regras do grupo de segurança para remover blocos CIDR não autorizados e considere usar o Express Connect, VPN Gateway ou Smart Access Gateway para conectar o banco de dados ao DTS.

Etapa 2: Selecionar objetos de migração

Configure o tipo de migração, o tratamento de conflitos e os objetos a serem migrados:

Parâmetro

Descrição

Migration Type

Selecione a combinação que se adapta ao seu objetivo. Apenas para migração completa: selecione Schema Migration e Full Data Migration. Para manter o serviço em execução durante a migração: selecione Schema Migration, Full Data Migration e Incremental Data Migration.

Processing Mode of Conflicting Tables

Precheck and Report Errors: verifique se o destino contém tabelas com os mesmos nomes da origem. A pré-verificação é aprovada apenas se não houver conflitos de nomes. Utilize Object name mapping para renomear tabelas conflitantes no destino. Ignore Errors and Proceed: ignora a verificação de conflito de nomes. Se os schemas coincidirem, o DTS ignora registros com chaves primárias duplicadas. Se os schemas forem diferentes, apenas colunas específicas serão migradas ou a tarefa falhará. Use com cautela, pois pode ocorrer inconsistência de dados.

Method to Migrate Triggers in Source Database

Aplica-se apenas quando Schema Migration está selecionado. Escolha um método com base em seus requisitos. Consulte Synchronize or migrate triggers from the source database.

Enable Migration Assessment

Aplica-se apenas quando Schema Migration está selecionado. Selecione Yes para verificar se os schemas de origem e de destino (tamanhos de índice, procedimentos armazenados, tabelas dependentes) atendem aos requisitos de migração. Os resultados da avaliação ficam visíveis durante a pré-verificação e não afetam a aprovação ou reprovação da pré-verificação.

Capitalization of Object Names in Destination Instance

Controla a caixa alta/baixa dos nomes de bancos de dados, tabelas e colunas no destino. O padrão é DTS default policy. Consulte Capitalization policy for object names in the destination database.

Source Objects

Selecione os objetos na lista Source Objects e clique no ícone Rightwards arrow para adicioná-los aos Selected Objects. Granularidade selecionável: colunas, tabelas ou bancos de dados. A seleção de tabelas ou colunas exclui visualizações, gatilhos e procedimentos armazenados da migração.

Selected Objects

Clique com o botão direito em um objeto para renomeá-lo ou defina condições WHERE para filtrar linhas. Clique em Batch Edit (canto superior direito) para renomear vários objetos de uma vez. Consulte Object name mapping e Use SQL conditions to filter data. Renomear um objeto pode fazer com que objetos dependentes falhem na migração.

Etapa 3: Configure definições avançadas

Clique em Next: Advanced Settings para configurar os seguintes parâmetros:

Verificação de dados

Para verificar a consistência dos dados após a migração, consulte Configure data verification.

Definições avançadas

Parâmetro

Descrição

Select the dedicated cluster used to schedule the task

Seu cluster dedicado do DTS já vem selecionado por padrão.

Set Alerts

Selecione Yes para receber notificações quando a tarefa falhar ou a latência da migração exceder um limiar. Especifique o limiar do alerta e os contatos. Consulte Configure monitoring and alerting.

Copy the temporary table of the Online DDL tool that is generated in the source table to the destination database

Aplica-se ao usar o Data Management (DMS) ou gh-ost para operações DDL online na origem. Yes: migra os dados da tabela temporária gerados pelo DDL online (pode estender o tempo de migração para grandes conjuntos de dados). No, Adapt to DMS Online DDL: ignora os dados da tabela temporária; migra apenas o DDL original. As tabelas no destino podem ser bloqueadas. No, Adapt to gh-ost: ignora os dados da tabela temporária; migra apenas o DDL original. Use expressões regulares padrão ou personalizadas para filtrar as tabelas sombra do gh-ost. As tabelas no destino podem ser bloqueadas.

Importante

pt-online-schema-change não é suportado. O seu uso causa a falha da tarefa.

Whether to Migrate Accounts

Selecione Yes para migrar as contas do banco de dados de origem. Consulte os requisitos de permissões em Permissões necessárias.

Method to Migrate Triggers in Source Database

Escolha um método de migração de gatilhos. Consulte Configure trigger synchronization or migration.

Retry Time for Failed Connections

Por quanto tempo o DTS tenta novamente após uma falha de conexão. Valores válidos: 10 a 1.440 minutos. Padrão: 720. Defina para pelo menos 30 minutos. Se a reconexão for bem-sucedida dentro desta janela, o DTS retoma a tarefa. Se a instância de origem ou de destino compartilhada for usada por várias tarefas, o valor definido mais recentemente entra em vigor em todas as tarefas.

Nota

Há cobrança pela instância do DTS quando ele tenta reconectar. Especifique este valor com base em seus requisitos de negócios. Você também pode liberar a instância do DTS o mais rápido possível após a liberação das instâncias de origem e de destino.

The wait time before a retry when other issues occur in the source and destination databases

Por quanto tempo o DTS tenta novamente após falhas em operações DDL ou DML. Valores válidos: 1 a 1.440 minutos. Padrão: 10. Defina para pelo menos 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections.

Etapa 4: Executar a pré-verificação e iniciar a tarefa

  1. Clique em Next: Save Task Settings and Precheck. Para visualizar os parâmetros de API usados para configurar esta tarefa, passe o mouse sobre o botão e clique em Preview OpenAPI parameters.

  2. Aguarde a conclusão da pré-verificação. Se a pré-verificação falhar:

    • Para itens com falha: clique em View Details, corrija os problemas e clique em Precheck Again.

    • Para itens de alerta que não podem ser ignorados: clique em View Details, corrija os problemas e clique em Precheck Again.

    • Para itens de alerta que podem ser ignorados: clique em Confirm Alert Details > Ignore > OK > Precheck Again. Ignorar um alerta pode resultar em inconsistência de dados.

  3. Quando a taxa de sucesso atingir 100%, clique em Next: Select DTS Instance Type.

  4. Na seção New Instance Class, defina a Instance Class para a tarefa. O mínimo é 1 unidade do DTS (DU) e o máximo é o número de DUs disponíveis restantes no cluster.

  5. Leia e selecione a caixa de seleção Data Transmission Service (Pay-as-you-go) Service Terms.

  6. Clique em Start Task > OK.

Para monitorar o progresso, acesse a página de detalhes do cluster e clique em Cluster Task List no painel de navegação à esquerda.

Próximos passos

Após o início da tarefa e a execução da migração incremental:

  • Monitore a latência da migração na página Cluster Task List. Se a latência estiver alta devido à inatividade na origem, execute uma operação DML e atualize a latência.

  • Antes de alternar o tráfego da aplicação para o banco de dados de destino, verifique a consistência dos dados usando Configure data verification.

  • Pare ou libere a tarefa de migração antes de alternar as cargas de trabalho, ou execute REVOKE para remover as permissões de gravação do DTS no destino. Isso evita que uma tarefa retomada sobrescreva os dados de destino.