Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronizar RDS for MySQL com PolarDB-X 2.0

Última atualização: Aug 27, 2026

Use o Data Transmission Service (DTS) para sincronizar dados de um banco de dados MySQL para uma instância PolarDB-X.

Bancos de dados de origem suportados

Você pode sincronizar dados dos seguintes tipos de bancos de dados MySQL para uma instância PolarDB-X 2.0. Este tópico usa uma instância ApsaraDB RDS for MySQL como exemplo para descrever o procedimento de configuração. O processo é semelhante para outros tipos de bancos de dados de origem.

  • Instância ApsaraDB RDS for MySQL

  • Banco de dados autogerenciado hospedado no Elastic Compute Service (ECS)

  • Banco de dados autogerenciado conectado via Express Connect, VPN Gateway ou Smart Access Gateway

  • Banco de dados autogerenciado conectado via Database Gateway

  • Banco de dados autogerenciado conectado via Cloud Enterprise Network (CEN)

Pré-requisitos

  • Uma instância PolarDB-X 2.0 de destino foi criada.

  • O espaço de armazenamento da instância PolarDB-X 2.0 deve ser superior ao espaço utilizado pela instância ApsaraDB RDS for MySQL.

Observações

Nota
  • Durante a sincronização de schema, o DTS sincroniza chaves estrangeiras do banco de dados de origem para o de destino.

  • Nas fases de sincronização total e incremental de dados, o DTS desativa temporariamente as verificações de restrições e operações em cascata de chaves estrangeiras no nível da sessão. Inconsistências de dados podem ocorrer se operações de atualização ou exclusão em cascata forem executadas no banco de origem enquanto a tarefa estiver em andamento.

Tipo

Descrição

Limites do banco de dados de origem

  • As tabelas a serem sincronizadas devem ter chave primária ou restrição única, e os campos devem ser exclusivos. Caso contrário, dados duplicados poderão surgir no banco de destino.

  • Se você sincronizar no nível de tabela e precisar editar mapeamentos (como mapeamento de nomes de colunas), cada tarefa suporta até 1.000 tabelas. Exceder esse limite causa falha na tarefa. Para resolver, divida as tabelas em múltiplas tarefas ou configure uma sincronização de banco de dados completo.

  • Logs binários:

    • O ApsaraDB RDS for MySQL ativa logs binários por padrão. Certifique-se de que o parâmetro binlog_row_image esteja definido como full. Do contrário, a pré-verificação falhará e a sincronização não iniciará. Para instruções, consulte Configure instance parameters.

      Importante
      • Se a instância de origem for um banco de dados MySQL autogerenciado, ative os logs binários e defina binlog_format como row e binlog_row_image como full.

      • Para bancos MySQL autogerenciados em cluster dual-primary (onde ambos os nós atuam como primário e secundário), ative o parâmetro log_slave_updates para que o DTS capture todos os eventos de log binário. Consulte Create an account and configure binary logging for a self-managed MySQL database para mais detalhes.

    • Os logs binários locais de uma instância ApsaraDB RDS for MySQL devem ser retidos por pelo menos três dias (sete dias é o recomendado). Para bancos MySQL autogerenciados, mantenha os logs locais por no mínimo sete dias. A falta de retenção adequada pode impedir a recuperação de logs pelo DTS, causando falha na tarefa e, em casos extremos, inconsistência ou perda de dados. Problemas decorrentes de períodos de retenção inferiores aos exigidos pelo DTS não são cobertos pelo SLA do serviço.

      Nota

      Para configurar o retention period dos logs binários locais em uma instância ApsaraDB RDS for MySQL, consulte Automatically delete local logs.

  • Não execute operações DDL que alterem schemas de bancos ou tabelas durante a sincronização de schema ou a sincronização total. Tais ações provocam falha na tarefa.

    Nota

    Durante a sincronização total, o DTS consulta o banco de origem, criando bloqueios de metadados que podem impedir operações DDL nesse banco.

  • Dados gerados por alterações que não gravam em logs binários — como restaurações de backups físicos ou criações via operações em cascata — não são sincronizados com o destino.

    Nota

    Se isso ocorrer, remova o banco ou tabela afetado dos objetos de sincronização e adicione-o novamente, desde que seu negócio permita. Para mais informações, veja Modify synchronization objects.

  • Caso o banco de origem seja MySQL 8.0.23 ou superior e contenha colunas ocultas invisíveis, o DTS poderá não lê-las, resultando em possível perda de dados.

    Nota

    Execute o comando ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; para tornar a coluna oculta visível. Mais detalhes em Invisible Columns.

  • Compatibilidade com MySQL: Ao sincronizar dados de uma origem da família MySQL, o DTS depende do protocolo padrão MySQL e do formato Binlog. Comportamentos incompatíveis com o padrão não são suportados. Se sua origem alegar compatibilidade mas divergir do comportamento MySQL (por exemplo, OceanBase em modo MySQL com timestamp 0 no evento rotate final do Binlog), a tarefa de sincronização poderá falhar.

  • Se a tabela de destino PolarDB-X 2.0 tiver particionamento automático ativado (auto_partition=true), cada instrução DDL executada na origem poderá conter apenas um alter_specification. Caso contrário, o DTS reportará erro (TDDL-4998: Multi alter specifications when create GSI not support yet). Para executar DDLs com múltiplos itens alter_specification, divida cada alter_specification em instruções separadas e execute-as individualmente. Consulte ALTER TABLE (DRDS mode) e ALTER TABLE (AUTO mode) para detalhes.

Outros limites

  • Se ocorrer conflito de chave primária ou única durante a execução da tarefa:

    • Quando os schemas das tabelas forem idênticos e um registro no destino possuir o mesmo valor de chave primária ou única que um registro na origem:

      • Na sincronização total, o DTS mantém o registro no cluster de destino, sem sincronizar o registro correspondente da origem.

      • Na sincronização incremental, o registro da origem sobrescreve o registro no destino.

    • Se os schemas diferirem, a sincronização inicial de dados poderá falhar, resultando em sincronização parcial de colunas ou falha completa. Proceda com cautela.

  • Requisitos para objetos de sincronização:

    • O DTS não suporta sincronização dos tipos de dados BIT, VARBIT, GEOMETRY, ARRAY, UUID, TSQUERY, TSVECTOR ou TXID_SNAPSHOT.

    • Índices de prefixo não são suportados. Se o banco de origem contiver tais índices, a sincronização poderá falhar.

  • Operações DDL online em modo de tabela temporária — incluindo cenários de mesclagem de múltiplas tabelas — ou adição de índices baseados em funções em colunas de chave única podem causar perda de dados ou falha na tarefa no banco de destino.

  • Avalie o desempenho dos bancos de origem e destino antes de iniciar. Execute a sincronização fora do horário de pico, pois a inicialização total consome recursos de leitura e escrita em ambos, podendo aumentar a carga.

  • A inicialização total executa operações INSERT concorrentemente, fragmentando as tabelas de destino. Após essa fase, o tablespace da instância de destino será maior que o da origem.

  • Ao sincronizar tabelas específicas (não o banco inteiro), não use ferramentas como pt-online-schema-change para DDL online nas tabelas de origem, sob pena de falha na sincronização.

    Use o Data Management (DMS) para operações DDL online. Consulte Online DDL without locking tables para mais informações.

  • Não grave dados no banco de destino por meios externos ao DTS durante a sincronização. Isso pode gerar inconsistências entre origem e destino. Por exemplo, usar o DMS para DDL online enquanto outros dados são gravados no destino pode causar perda de dados.

  • Instâncias ApsaraDB RDS for MySQL com Always-Encrypted ativado não suportam sincronização total de dados.

    Nota

    Instâncias com Transparent Data Encryption (TDE) ativado suportam sincronização de schema, sincronização total e incremental de dados.

  • Em caso de falha na tarefa, a equipe de suporte do DTS tentará restaurá-la em até oito horas, podendo reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Apenas parâmetros da tarefa DTS são modificados, não os do banco de dados. Os parâmetros ajustáveis incluem os listados em Modify instance parameters.

Casos especiais

  • Para banco de dados MySQL de origem autogerenciado:

    • Um failover entre primário e secundário na origem durante a sincronização causará falha na tarefa.

    • O cálculo de latência do DTS compara o timestamp do último registro sincronizado com a hora atual. Longos períodos sem operações DML na origem podem tornar a latência imprecisa. Se a latência parecer excessiva, execute uma operação DML na origem para atualizá-la.

      Nota

      Ao selecionar um banco inteiro para sincronização, crie uma tabela de heartbeat e atualize-a ou grave nela a cada segundo.

    • Periodicamente, o DTS executa o comando CREATE DATABASE IF NOT EXISTS test na origem para avançar o offset do log binário.

    • Para origens Amazon Aurora MySQL ou outros clusters MySQL, garanta que o nome de domínio ou IP usado na configuração — e sua resolução DNS — aponte sempre para um nó de leitura/escrita (RW). Caso contrário, a sincronização poderá falhar.

  • Para banco de dados ApsaraDB RDS for MySQL de origem:

    • Instâncias somente leitura — como as do ApsaraDB RDS for MySQL 5.6 — que não registram logs de transação não podem servir como origem.

    • Periodicamente, o DTS executa o comando CREATE DATABASE IF NOT EXISTS test na origem para avançar o offset do log binário.

Faturamento

Tipo de sincronização

Preço

Sincronização de schema e sincronização total de dados

Gratuito.

Sincronização incremental de dados

Pago. Para mais informações, consulte Billing overview.

Topologias de sincronização

  • Sincronização unidirecional um para um

  • Sincronização unidirecional muitos para um

Operações SQL suportadas

Tipo de operação

Instrução SQL

DML

INSERT, UPDATE e DELETE

DDL

  • ALTER TABLE e ALTER VIEW

  • CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE e CREATE VIEW

  • DROP INDEX e DROP TABLE

  • RENAME TABLE

    Importante

    A operação RENAME TABLE pode causar inconsistência de dados. Por exemplo, se o objeto de sincronização for uma única tabela e você a renomear na origem durante o processo, os dados dessa tabela não serão sincronizados com o destino. Para evitar isso, configure a tarefa para sincronizar todo o banco que contém a tabela. Certifique-se de que o banco ao qual a tabela pertence, tanto antes quanto depois da operação RENAME TABLE, esteja incluído nos objetos de sincronização.

  • TRUNCATE TABLE

Procedimento

  1. Acesse a página da lista de tarefas de sincronização da região de destino. Use um dos dois métodos abaixo:

    Pelo console do DTS

    1. Faça login no console do Data Transmission Service (DTS).

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

    3. No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.

    Pelo console do DMS

    Nota

    As operações reais podem variar conforme o modo e o layout do console do DMS. Para mais detalhes, consulte Simple mode e Customize the layout and style of the DMS interface.

    1. Faça login no Data Management (DMS).

    2. Na barra de menu superior, escolha Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.

  2. Clique em Create Task para abrir a página de configuração da tarefa.

  3. Configure os bancos de dados de origem e de destino.

    Aviso

    Após selecionar as instâncias de origem e destino, leia atentamente os limites exibidos no topo da página. Ignorar esses limites pode resultar em falha na tarefa ou inconsistência de dados.

    Categoria

    Parâmetro

    Descrição

    N/A

    Task Name

    O DTS gera automaticamente um nome para a tarefa. Recomenda-se especificar um nome descritivo para facilitar a identificação. O nome não precisa ser único.

    Source Database

    Database Type

    Selecione MySQL.

    Connection Type

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região onde a instância ApsaraDB RDS for MySQL de origem está localizada.

    Cross-account

    Neste cenário, os dados são sincronizados dentro da mesma conta Alibaba Cloud. Selecione No.

    RDS Instance ID

    Selecione o ID da instância ApsaraDB RDS for MySQL de origem.

    Database Account

    Insira a conta do banco de dados da instância ApsaraDB RDS for MySQL de origem. A conta deve ter as permissões REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW e SELECT.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

    Encryption

    Selecione Non-encrypted ou SSL-encrypted conforme necessário. Se escolher SSL-encrypted, será necessário ativar previamente a criptografia SSL na instância RDS for MySQL. Para mais informações, consulte Use a cloud certificate to quickly enable SSL encryption.

    Destination Database

    Database Type

    Selecione PolarDB-X 2.0.

    Connection Type

    Selecione Alibaba Cloud Instance.

    Instance Region

    Selecione a região onde a instância PolarDB-X 2.0 de destino está localizada.

    Instance ID

    Selecione o ID da instância PolarDB-X 2.0 de destino.

    Database Account

    Insira a conta do banco de dados da instância PolarDB-X 2.0 de destino. A conta deve ter permissões de leitura e escrita.

    Database Password

    Insira a senha correspondente à conta do banco de dados.

  4. Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.

    Nota
    • Certifique-se de que os blocos CIDR de endereços IP dos servidores DTS estejam adicionados às configurações de segurança dos bancos de origem e destino para permitir o acesso. Adicione-os automática ou manualmente. Para mais informações, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.

    • Se o banco de origem ou destino for autogerenciado (onde o Access Method não é Alibaba Cloud Instance), clique também em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.

  5. Configure os objetos da tarefa.

    1. Na página Configure Objects, configure os objetos a serem sincronizados.

      Parâmetro

      Descrição

      Synchronization Types

      Incremental Data Synchronization vem selecionado. Por padrão, você também deve selecionar Schema Synchronization e Full Data Synchronization. Após a pré-verificação, o DTS realiza uma sincronização total dos objetos selecionados da instância de origem para o cluster de destino, servindo como base para a subsequente sincronização incremental.

      Processing Mode for Existing Tables in Destination

      • Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de destino. Se não existir, a pré-verificação é aprovada. Se existir, a pré-verificação falha e a tarefa de sincronização não inicia.

        Nota

        Caso não seja possível excluir ou renomear a tabela homônima no destino, mapeie-a para um nome diferente. Consulte Map table and column names para mais detalhes.

      • Ignore Errors and Proceed: Ignora a verificação de nomes de tabelas duplicados no destino.

        Aviso

        Selecionar Ignore Errors and Proceed pode causar inconsistência de dados e colocar seu negócio em risco. Por exemplo:

        • Se os schemas das tabelas forem idênticos e um registro no destino possuir o mesmo valor de chave primária ou única que um registro na origem:

          • Na sincronização total, o DTS mantém o registro no cluster de destino, sem sincronizar o registro correspondente da origem.

          • Na sincronização incremental, o registro da origem sobrescreve o registro no destino.

        • Se os schemas diferirem, a sincronização inicial de dados poderá falhar, resultando em sincronização parcial de colunas ou falha completa. Proceda com cautela.

      Source Objects

      Na caixa Source Objects, clique em um objeto para sincronizar e, em seguida, clique em 向右 para movê-lo para a caixa Selected Objects.

      Nota

      É possível selecionar bancos, tabelas e colunas como objetos de sincronização. Ao selecionar tabelas ou colunas, outros objetos como views, triggers e stored procedures não serão sincronizados com o destino.

      Selected Objects

      • Para renomear um único objeto de sincronização na instância de destino, clique com o botão direito no objeto na caixa Selected Objects. Para mais informações sobre renomeação de objetos, consulte Map a single database, table, or column.

      • Para alterar em lote os nomes de múltiplos objetos de sincronização no destino, clique em Batch Edit no canto superior direito da caixa Selected Objects. Para mais detalhes, consulte Map databases, tables, and columns in a batch.

      Nota
      • Para selecionar as operações SQL a serem sincronizadas no nível de banco ou tabela, clique com o botão direito no objeto na caixa Selected Objects e escolha as operações desejadas na caixa de diálogo exibida. Para informações sobre operações suportadas, consulte Supported SQL operations.

      • Para filtrar dados usando uma cláusula WHERE, clique com o botão direito na tabela a ser sincronizada na caixa Selected Objects e especifique a condição de filtro na caixa de diálogo exibida. Para mais detalhes sobre como especificar a condição, consulte Set filter conditions.

      • O uso do recurso de mapeamento de nomes de objetos pode causar falha na sincronização de outros objetos dependentes do objeto mapeado.

    2. Clique em Next: Advanced Settings para configurar parâmetros avançados.

      Parâmetro

      Descrição

      Dedicated Cluster for Task Scheduling

      Por padrão, o DTS agenda tarefas em um cluster compartilhado, sem necessidade de seleção. Para maior estabilidade de desempenho, adquira um cluster dedicado para executar tarefas de sincronização do DTS. Para mais informações, consulte What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      Após o início da tarefa de sincronização, se a conexão com o banco de origem ou destino falhar, o DTS reportará erro e iniciará imediatamente novas tentativas. A duração padrão de tentativa é de 720 minutos. Especifique uma duração personalizada entre 10 e 1.440 minutos. Recomenda-se definir pelo menos 30 minutos. Se o DTS reconectar com sucesso dentro do período especificado, a tarefa retomará automaticamente. Caso contrário, a tarefa falhará.

      Nota
      • Se houver múltiplas instâncias DTS (ex: Instância A e Instância B) compartilhando a mesma origem ou destino, e o tempo de tentativa de rede for definido como 30 minutos para a Instância A e 60 minutos para a Instância B, a menor duração de 30 minutos será usada para ambas.

      • Como o DTS cobra pelo tempo de execução da tarefa durante o período de tentativa de reconexão, recomenda-se personalizar a duração conforme a necessidade do negócio ou liberar a instância DTS assim que as instâncias de banco de origem e destino forem liberadas.

      Retry Time for Other Issues

      Após o início da tarefa, se ocorrerem problemas não relacionados à conectividade com a origem ou destino (como exceções na execução de DDL ou DML), o DTS reportará erro e iniciará tentativas contínuas. A duração padrão é de 10 minutos. Personalize a duração entre 1 e 1.440 minutos. Recomenda-se definir pelo menos 10 minutos. Se as operações relevantes forem bem-sucedidas dentro do período definido, a tarefa retomará automaticamente. Caso contrário, a tarefa falhará.

      Importante

      O valor de Retry Time for Other Issues deve ser menor que o de Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Durante a fase de sincronização total, o DTS consome recursos de leitura e escrita da origem e do destino, podendo aumentar a carga. Para reduzir essa carga, defina um limite de taxa para a tarefa configurando os parâmetros Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s).

      Nota
      • Este item de configuração está disponível apenas quando Synchronization Types estiver definido como Full Data Synchronization.

      • Também é possível adjust the full synchronization rate após a instância de sincronização estar em execução.

      Enable Throttling for Incremental Data Synchronization

      Defina também um limite de taxa para a tarefa de sincronização incremental. Para aliviar a pressão no banco de destino, configure RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Selecione uma tag de ambiente para identificar a instância. Este parâmetro é opcional. Para este exemplo, não é necessário selecionar uma tag.

      Whether to delete SQL operations on heartbeat tables of forward and reverse tasks

      Escolha se deseja gravar informações SQL de heartbeat no banco de origem enquanto a instância DTS estiver em execução.

      • Yes: Informações SQL de heartbeat não são gravadas na origem. Isso pode fazer com que a instância DTS reporte atraso.

      • No: Grava informações SQL de heartbeat na origem. Isso pode interferir em recursos como backup físico e clonagem do banco de origem.

      Configure ETL

      Escolha se deseja ativar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte What is ETL? Valores válidos:

      Monitoring and Alerting

      Especifique se deseja configurar alertas. Se a sincronização falhar ou a latência exceder o limiar especificado, uma notificação será enviada a um contato de alerta.

    3. Clique em Next: Data Validation para configurar uma tarefa de validação de dados.

      Para utilizar o recurso de validação de dados, consulte Configure data validation para instruções de configuração.

  6. Salve a tarefa e execute a pré-verificação.

    • Para visualizar os parâmetros da API para configurar esta instância, passe o mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão exibido.

    • Após terminar de visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.

    Nota
    • Antes do início da tarefa de sincronização, o DTS executa uma pré-verificação. A tarefa só inicia após a aprovação de todos os itens.

    • Se a pré-verificação falhar, clique em View Details para o item com falha. Corrija o problema conforme indicado e execute a pré-verificação novamente.

    • Se a pré-verificação retornar um aviso:

      • Se um item de verificação falhar e não puder ser ignorado, clique em View Details ao lado do item. Siga as instruções para corrigir o problema e execute a pré-verificação novamente.

      • Para itens de verificação que podem ser ignorados, clique sequencialmente em Confirm Alert Details, Ignore, OK e Precheck Again para pular o aviso e reexecutar a pré-verificação. Optar por suprimir o item de aviso pode causar problemas como inconsistência de dados e representar riscos ao seu negócio.

  7. Adquira a instância.

    1. Quando a Success Rate for 100%, clique em Next: Purchase Instance.

    2. Na página Purchase, selecione o método de faturamento e a especificação de link para a instância de sincronização de dados. A tabela a seguir descreve esses parâmetros em detalhe.

      Categoria

      Parâmetro

      Descrição

      New Instance Class

      Método de faturamento

      • Assinatura: Pagamento realizado na criação da instância. Adequado para necessidades de longo prazo e mais econômico que o pagamento conforme o uso. Quanto maior a duração da assinatura, maior o desconto.

      • Pagamento conforme o uso: Cobrança horária. Adequado para necessidades de curto prazo. Libere a instância imediatamente após o uso para economizar custos.

      Configuração do grupo de recursos

      Grupo de recursos ao qual a instância pertence. O padrão é default resource group. Para mais informações, consulte What is Resource Management?.

      Especificação de link

      O DTS oferece especificações de sincronização com diferentes níveis de desempenho. A especificação do link afeta a taxa de sincronização. Escolha uma especificação baseada no seu cenário de negócio. Para mais informações, consulte Data synchronization link specifications.

      Duração da assinatura

      No modo assinatura, selecione a duração e quantidade para a instância. Escolha uma assinatura mensal de 1 a 9 meses, ou anual de 1, 2, 3 ou 5 anos.

      Nota

      Esta opção está disponível apenas quando o método de faturamento é Subscription.

    3. Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Clique em Buy and Start. Na caixa de diálogo OK, clique em OK.

      Visualize o progresso da tarefa na página Data Synchronization.