Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrar dados de um banco de dados TiDB autogerenciado para um cluster PolarDB for MySQL

Última atualização: Jun 27, 2026

Use o Data Transmission Service (DTS) para migrar dados de um banco de dados TiDB autogerenciado para um cluster PolarDB for MySQL. O DTS suporta migração de esquema, migração completa de dados e migração incremental de dados. Assim, você minimiza o tempo de inatividade mantendo o destino sincronizado com a origem até o corte final.

O processo geral consiste em quatro etapas:

  1. Crie o cluster PolarDB for MySQL de destino e verifique as permissões da conta.

  2. (Apenas para migração incremental) Configure um cluster Kafka e defina o TiDB Binlog ou TiCDC para transmitir alterações ao Kafka.

  3. Crie e configure a tarefa de migração do DTS.

  4. Execute a pré-verificação, adquira a instância e monitore o progresso da tarefa.

Pré-requisitos

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

Permissões necessárias

Banco de dados Permissões necessárias Referência
Banco de dados TiDB SHOW VIEW e SELECT nos objetos a serem migrados Gerenciamento de privilégios
Cluster PolarDB for MySQL Leitura e escrita no banco de dados de destino Criar e gerenciar contas de banco de dados

Faturamento

Tipo de migração

Taxa de configuração da instância

Taxa de tráfego de internet

Migração de esquema e migração completa de dados

Gratuita

Cobrada quando o Access Method está definido como Public IP Address. Consulte Visão geral do faturamento.

Migração incremental de dados

Cobrada. Consulte Visão geral do faturamento.

Consulte Visão geral do faturamento.

Operações SQL suportadas para migração incremental

Tipo de operação

Instruções SQL

DML

INSERT, UPDATE, DELETE

DDL

CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN

Observações de uso

Limites do banco de dados de origem

  • Largura de banda de saída: O servidor do banco de dados de origem deve ter largura de banda de saída suficiente. Largura de banda insuficiente reduz a velocidade da migração.

  • Chave primária ou restrição UNIQUE: As tabelas devem ter uma chave primária (PRIMARY KEY) ou restrição UNIQUE com todos os campos únicos. Sem essas restrições, o banco de dados de destino poderá conter registros duplicados.

  • Limite de tabelas por tarefa: Ao migrar tabelas individuais com edições no nível de coluna (como renomear colunas), uma única tarefa suporta até 1.000 tabelas. Para mais de 1.000 tabelas, divida o trabalho em várias tarefas ou migre o banco de dados inteiro.

  • Restrições de DDL durante a migração: Durante a migração de esquema e a migração completa de dados, não execute operações DDL que alterem o esquema do banco de dados ou das tabelas. A tarefa de migração falhará se operações DDL forem detectadas.

  • Índices de prefixo: Os metadados do TiDB não armazenam comprimentos de índices de prefixo. Após a migração, os comprimentos dos índices de prefixo são perdidos, o que pode impedir a execução da instância. Corrija manualmente os comprimentos dos índices de prefixo para quaisquer tabelas afetadas após a migração.

  • Requisitos de dados incrementais: A migração incremental de dados requer um cluster Kafka e componentes TiDB Binlog ou TiCDC. Consulte (Opcional) Configurar a coleta de dados incrementais.

Outros limites

  • Incremental data partition: O DTS lê dados incrementais apenas da partição com ID 0 no tópico do Kafka.

  • Inicialização de posição: Após criar uma tarefa com migração incremental, realize alterações ou insira dados de teste no banco de dados de origem prontamente para atualizar as informações de posição. A falta dessa ação pode causar falha na tarefa devido à latência excessiva.

  • Caracteres de 4 bytes: Se os dados incluírem caracteres raros ou emojis (caracteres de 4 bytes), o banco de dados e as tabelas de destino devem usar o conjunto de caracteres UTF8mb4. Caso utilize a migração de esquema do DTS, defina também o parâmetro da instância character_set_server como UTF8mb4 no banco de dados de destino.

  • Uso de recursos na migração completa: A migração completa de dados consome recursos de leitura e escrita tanto no banco de dados de origem quanto no de destino, aumentando a carga sobre eles. Avalie o desempenho do banco de dados antes de migrar e execute a migração completa em horários de baixa demanda (por exemplo, quando a carga da CPU estiver abaixo de 30%).

  • Tamanho do tablespace após migração completa: Operações INSERT simultâneas durante a migração completa de dados causam fragmentação de tabela. O tablespace no banco de dados de destino será maior do que no banco de dados de origem após a conclusão da migração.

  • Escritas no destino durante a migração: Escrever no banco de dados de destino durante a migração pode causar inconsistência de dados entre a origem e o destino.

  • Precisão de FLOAT e DOUBLE: O DTS usa ROUND(COLUMN,PRECISION) para ler valores 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.

  • Retomada automática: O DTS tenta retomar automaticamente tarefas que falharam nos últimos sete dias. Antes de alternar cargas de trabalho para a instância de destino, pare ou libere a tarefa do DTS, ou execute REVOKE para remover as permissões de escrita da conta do DTS na instância de destino.

  • Falhas de DDL: Se uma instrução DDL falhar no banco de dados de destino, a tarefa do DTS continuará em execução. Visualize as instruções DDL com falha nos logs da tarefa. Consulte Visualizar logs da tarefa.

  • Intervenção do suporte técnico: Se uma tarefa do DTS falhar, o suporte técnico tentará restaurá-la dentro de 8 horas. Durante a restauração, a tarefa pode ser reiniciada e parâmetros da tarefa (não parâmetros do banco de dados) podem ser modificados. Para os parâmetros que podem ser modificados, consulte a seção Modificar parâmetros da instância.

(Opcional) Configurar a coleta de dados incrementais

Ignore esta seção se você precisar apenas de migração de esquema e migração completa de dados.

Para capturar alterações incrementais do TiDB, é necessário um cluster Kafka e o componente TiDB Binlog ou TiCDC. Ambos os métodos usam o Kafka como camada de transporte. Complete primeiro as etapas compartilhadas de configuração do Kafka e, em seguida, siga as etapas do método escolhido.

Etapa 1: Configurar um cluster Kafka

Use uma das seguintes opções:

  • Cluster Kafka autogerenciado: Implante o Apache Kafka seguindo a documentação do Apache Kafka.

    Aviso

    Para lidar com o volume de dados de log binário do TiDB, aumente os seguintes parâmetros na configuração do seu Kafka. Consulte Configuração do Kafka.

    Componente

    Parâmetro

    Motivo

    Broker

    message.max.bytes

    Define o tamanho máximo de mensagem que o broker aceita. Eventos de log binário do TiDB podem ser grandes, portanto o limite padrão causa falhas de escrita.

    Broker

    replica.fetch.max.bytes

    Define o máximo de bytes que um follower pode buscar por solicitação. Deve ser pelo menos igual a message.max.bytes para replicar mensagens superdimensionadas.

    Consumer

    fetch.message.max.bytes

    Define o máximo de bytes que um consumer busca por partição. Deve ser pelo menos igual a message.max.bytes para que o DTS possa ler eventos completos.

  • Message Queue for Apache Kafka: Utilize o serviço gerenciado de Kafka da Alibaba Cloud. Consulte Primeiros passos.

    Implante a instância do Message Queue for Apache Kafka na mesma virtual private cloud (VPC) do servidor do banco de dados de origem para reduzir a latência de rede e garantir conectividade estável.

Etapa 2: Criar um tópico Kafka

Crie um tópico no cluster Kafka ou na instância do Message Queue for Apache Kafka.

Importante

O tópico deve ter exatamente uma partição. O DTS lê dados incrementais apenas da partição com ID 0.

Etapa 3: Configurar TiDB Binlog ou TiCDC

Escolha um método com base no seu ambiente:

<details> <summary>Opção A: TiDB Binlog</summary>

Para minimizar o impacto da latência de rede, implante o componente Pump, o componente Drainer e o cluster Kafka em servidores que compartilhem a mesma rede interna do servidor do banco de dados TiDB de origem.
  1. Implante os componentes Pump e Drainer. Consulte Implantação de cluster TiDB Binlog.

  2. Edite o arquivo de configuração do Drainer para definir o Kafka como saída. Consulte Desenvolvimento personalizado para Kafka.Desenvolvimento Personalizado para Kafka

  3. Verifique se o servidor do banco de dados TiDB consegue se conectar ao cluster Kafka.

  4. Adicione os blocos CIDR dos servidores DTS à lista de permissões do banco de dados TiDB. Consulte Adicionar os blocos CIDR dos servidores DTS.

</details>

<details> <summary>Opção B: TiCDC</summary>

  1. Instale o componente TiCDC. Use o TiUP para adicionar ou escalar horizontalmente o TiCDC no seu cluster TiDB existente. Consulte Implantar TiCDC.

  2. Replicar dados incrementais para o Kafka usando tiup cdc cli changefeed create \ como o primeiro comando. Consulte Replicar dados para o Kafka.

  3. Verifique se o servidor do banco de dados TiDB consegue se conectar ao cluster Kafka.

</details>

Criar uma tarefa de migração

Etapa 1: Acessar a página Data Migration

Use um dos seguintes métodos:

Console do DTS

  1. Faça login no console do DTS.console do DTS

  2. No painel de navegação à esquerda, clique em Data Migration.

  3. No canto superior esquerdo, selecione a região onde a instância de migração reside.

Console do DMS

Nota

As etapas reais podem variar com base no modo e layout do console do DMS. Consulte Modo simples e Personalizar o layout e estilo do console do DMS.

  1. Faça login no console do DMS.console do DMS

  2. Na barra de navegação superior, mova o ponteiro sobre Data + AI > DTS (DTS) > Data Migration.

  3. Na lista suspensa à direita de Data Migration Tasks, selecione a região onde a instância de migração reside.

Etapa 2: Configurar bancos de dados de origem e destino

  1. Clique em Create Task.

  2. Na página de configuração da tarefa, configure os bancos de dados de origem e destino.

Parâmetros do banco de dados de origem

Parâmetro

Descrição

Task Name

Nome para a tarefa do DTS. O DTS gera um nome automaticamente. Especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.

Select Existing Connection

Selecione uma instância de banco de dados registrada na lista suspensa ou configure a conexão manualmente. No console do DMS, selecione em Select a DMS database instance.

Database Type

Selecione TiDB.

Access Method

Selecione o tipo de conexão com base no local onde o banco de dados TiDB está implantado. Este exemplo usa Self-managed Database on ECS. Para outros tipos de conexão, conclua os preparativos correspondentes.

Instance Region

Região onde o banco de dados TiDB está localizado.

ECS Instance ID

ID da instância do Elastic Compute Service (ECS) que executa o banco de dados TiDB.

Port Number

Porta de serviço do banco de dados TiDB. Padrão: 4000.

Database Account

Conta do banco de dados TiDB.

Database Password

Senha da conta do banco de dados TiDB.

Migrate Incremental Data

Para migrar dados incrementais, selecione Yesconfigurações de notificação de alerta e preencha as informações do cluster Kafka. Consulte Parâmetros do cluster Kafka.

Parâmetros do banco de dados de destino

Parâmetro

Descrição

Select Existing Connection

Selecione uma instância de banco de dados registrada na lista suspensa ou configure a conexão manualmente. No console do DMS, selecione em Select a DMS database instance.

Database Type

Selecione PolarDB for MySQL.

Access Method

Selecione Alibaba Cloud Instance.

Instance Region

Região onde o cluster PolarDB for MySQL de destino está localizado.

Replicate Data Across Alibaba Cloud Accounts

Selecione No ao usar uma instância de banco de dados sob a conta atual da Alibaba Cloud.

PolarDB Cluster ID

Selecione o ID do cluster PolarDB for MySQL de destino.

Database Account

Conta do cluster PolarDB for MySQL de destino.

Database Password

Senha da conta do cluster PolarDB for MySQL de destino.

Encryption

Indica se a conexão deve ser criptografada. Para detalhes sobre criptografia SSL, consulte Configurar criptografia SSL.

Etapa 3: Testar conectividade

Na parte inferior da página, clique em Test Connectivity and Proceed. Na caixa de diálogo CIDR Blocks of DTS Servers, clique em Test Connectivity.

Certifique-se de que os blocos CIDR dos servidores DTS foram adicionados às configurações de segurança dos bancos de dados de origem e destino. Consulte Adicionar os blocos CIDR dos servidores DTS .

Etapa 4: Configurar objetos de migração

  1. Na página Configure Objects, defina os seguintes parâmetros.

Tipos de migração e tratamento de conflitos

Parâmetro Descrição
Migration Types Selecione os tipos de migração conforme suas necessidades: <br>- Schema Migration + Full Data Migration: migra apenas o esquema e os dados existentes. <br>- Schema Migration + Full Data Migration + Incremental Data Migration: minimiza o tempo de inatividade capturando também as alterações durante a migração. <br>
Nota

Se você pular a Schema Migration, crie o banco de dados e as tabelas de destino manualmente e ative o mapeamento de nomes de objetos em Selected Objects. Se pular a Incremental Data Migration, evite escrever no banco de dados de origem durante a migração para manter a consistência dos dados.

Processing Mode of Conflicting Tables - Precheck and Report Errors (padrão): falha na pré-verificação se o destino contiver tabelas com os mesmos nomes da origem. Use o mapeamento de nomes de objetos para renomear tabelas conflitantes. <br>- Ignore Errors and Proceed: ignora a pré-verificação de conflitos de nomes.
Aviso

Esta opção apresenta risco de inconsistência de dados — durante a migração completa, o DTS pula registros conflitantes; durante a migração incremental, o DTS os sobrescreve. Se os esquemas diferirem, apenas colunas específicas serão migradas ou a tarefa poderá falhar.

Capitalization of Object Names in Destination Instance Controla a capitalização de nomes de bancos de dados, tabelas e colunas no destino. Padrão: DTS default policy. Consulte Especificar a capitalização de nomes de objetos na instância de destino.

Seleção de objetos

Parâmetro Descrição
Source Objects Selecione as tabelas ou bancos de dados a serem migrados. Clique em 向右小箭头 para mover os objetos selecionados para Selected Objects.
Selected Objects Clique com o botão direito em um objeto para renomeá-lo. Consulte Mapear o nome de um único objeto. Clique em Batch Edit para renomear vários objetos de uma vez. Consulte Mapear vários nomes de objetos simultaneamente. Clique com o botão direito em uma tabela para configurar uma condição de filtro WHERE.
Nota

Renomear um objeto pode impedir que objetos dependentes sejam migrados.

Nota
  1. Clique em Next: Advanced Settings.

Advanced settings

Parâmetro Descrição
Select the engine type of the destination database Engine de armazenamento para o banco de dados de destino: InnoDB (padrão) ou X-Engine (para cargas de trabalho de processamento de transações online - OLTP).
Retry Time for Failed Connections Tempo durante o qual o DTS tenta reconectar após falhas de conexão depois do início da tarefa. Intervalo: 10–1.440 minutos. Padrão: 720. Recomendamos definir este parâmetro com um valor superior a 30 minutos. Se a conexão for restaurada dentro desse período, a tarefa será retomada; caso contrário, ela falhará.
Nota

Quando várias tarefas compartilham o mesmo banco de dados de origem ou destino, o valor definido mais recentemente entra em vigor. O DTS cobra pela instância durante o tempo de nova tentativa.

Retry Time for Other Issues Tempo durante o qual o DTS tenta repetir operações DDL ou DML com falha. Intervalo: 1–1.440 minutos. Padrão: 10. Recomendamos definir este parâmetro com um valor superior a 10 minutos.
Importante

Este valor deve ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration Limita o uso de recursos durante a migração completa de dados. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Disponível apenas quando Full Data Migration estiver selecionado.
Enable Throttling for Incremental Data Migration Limita o uso de recursos 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 Uma tag opcional para identificar a instância de migração.
Configure ETL Indica se deve ativar extração, transformação e carga (ETL). Selecione Yes para inserir instruções de processamento de dados. Consulte O que é ETL? e Configurar ETL em uma tarefa de migração ou sincronização de dados.
Monitoring and Alerting Indica se devem ser configurados alertas para a tarefa. Selecione Yes para definir um limiar de alerta e contatos de notificação. Consulte Configurar monitoramento e alertas ao criar uma tarefa do DTS.
  1. Clique em Next Step: Data Verification para configurar a verificação de dados. Consulte Configurar uma tarefa de verificação de dados.

Etapa 5: Executar a pré-verificação

  1. Para visualizar os parâmetros da API desta tarefa, mova o ponteiro sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.

  2. Clique em Next: Save Task Settings and Precheck.

O DTS executa uma pré-verificação antes de iniciar a migração. A tarefa só começa após a aprovação na pré-verificação.
Para itens de pré-verificação com falha, clique em View Details para diagnosticar o problema, resolvê-lo e, em seguida, execute a pré-verificação novamente.
Para itens de alerta: se o alerta não puder ser ignorado, corrija o problema e execute a pré-verificação novamente. Se o alerta puder ser ignorado, clique em Confirm Alert Details , depois clique em Ignore > OK > Precheck Again .

Etapa 6: Adquirir e iniciar a instância

  1. Aguarde até que a Success Rate atinja 100%, então clique em Next: Purchase Instance.

  2. Na página Purchase Instance, configure a classe da instância.

Parâmetro

Descrição

Resource Group

Grupo de recursos para a instância de migração. Padrão: default resource group. Consulte O que é Resource Management?

Instance Class

A classe da instância determina a velocidade da migração. Consulte Classes de instâncias de migração de dados.

  1. Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms marcando a caixa de seleção.

  2. Clique em Buy and Start, depois clique em OK.

A tarefa aparecerá na página Data Migration. Monitore o progresso dela nessa página.

Parâmetros do cluster Kafka

Configure os seguintes parâmetros quando Migrate Incremental Data estiver definido como Yes.

Parâmetro

Descrição

Kafka Cluster Type

Tipo de conexão baseado no local onde o cluster Kafka está implantado. Este exemplo usa Self-managed Database on ECS. Se selecionar Express Connect, VPN Gateway, or Smart Access Gateway, selecione também Connected VPC e insira o Domain Name or IP.

Kafka Data Source Component

Selecione com base no método de coleta incremental configurado: Use the default binlog format of the TiDB database. (TiDB Binlog) ou Use the TiCDC Canal-JSON format. (TiCDC).

ECS Instance ID

ID da instância ECS que executa o cluster Kafka.

Port Number

Porta de serviço do cluster Kafka.

Kafka Cluster Account

Nome de usuário do cluster Kafka. Deixe em branco se a autenticação não estiver ativada.

Kafka Cluster Password

Senha do cluster Kafka. Deixe em branco se a autenticação não estiver ativada.

Kafka Version

Versão do cluster Kafka. Se a versão for 1,0 ou posterior, selecione 1.0.

Encryption

Selecione Non-encrypted ou SCRAM-SHA-256 com base nos seus requisitos de segurança.

Topic

Tópico que contém os dados incrementais.