Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser des données d'une instance ApsaraDB RDS for MySQL vers une instance PolarDB-X 1,0

Dernière mise à jour :Sep 22, 2026

Utilisez Data Transmission Service (DTS) pour synchroniser en continu les données d'une instance ApsaraDB RDS for MySQL vers une instance PolarDB-X 1,0. Cette procédure couvre à la fois la synchronisation complète des données et la synchronisation incrémentielle des données (INSERT, UPDATE, DELETE).

Aperçu de la tâche : Pour configurer une tâche de synchronisation, suivez ces étapes dans l'ordre :

  1. Préparez l'instance de destination et les comptes (prérequis)

  2. Configurez la journalisation binaire sur la source

  3. Créez la tâche de synchronisation dans DTS ou DMS

  4. Exécutez la pré-vérification et achetez l'instance

Prérequis

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

Exigences relatives à la journalisation binaire

DTS utilise les journaux binaires pour capturer les modifications incrémentielles. Les exigences diffèrent selon que votre source est une instance ApsaraDB RDS for MySQL ou une base de données MySQL autogérée.

ApsaraDB RDS for MySQL

La journalisation binaire est activée par défaut sur les instances ApsaraDB RDS for MySQL. Assurez-vous que :

  • Le paramètre binlog_row_image est défini sur full. Si ce n'est pas le cas, une erreur de pré-vérification se produit et la tâche ne peut pas démarrer. Consultez Définir les paramètres de l'instance.

  • Les journaux binaires locaux sont conservés pendant au moins 3 jours (7 jours recommandés). Si les journaux sont purgés avant que DTS ne puisse les lire, la tâche échoue. Dans des cas extrêmes, une perte de données ou une incohérence peut survenir. Les tâches qui échouent en raison d'une rétention insuffisante des journaux ne sont pas couvertes par l'accord de niveau de service (SLA) de DTS. Pour définir la Retention Period des journaux binaires locaux, consultez Supprimer automatiquement les journaux locaux.

Les instances en lecture seule ApsaraDB RDS for MySQL 5.6 n'enregistrent pas les journaux de transactions et ne peuvent pas être utilisées comme base de données source.

MySQL autogéré

Pour une base de données MySQL autogérée, configurez les paramètres suivants :

Paramètre

Valeur requise

binlog_format

row

binlog_row_image

full

Conservez les journaux binaires pendant au moins 7 jours. Si les journaux sont purgés avant que DTS ne puisse les lire, la tâche échoue, et les problèmes causés par une rétention insuffisante des journaux ne sont pas couverts par le SLA de DTS.

Exigences supplémentaires :

Autorisations requises pour les comptes de base de données

Base de données

Autorisations requises

Comment créer et autoriser

ApsaraDB RDS for MySQL source

Lecture et écriture

Créer un compte et Modifier les autorisations d'un compte

PolarDB-X 1,0 de destination

Lecture et écriture

Gérer les comptes de base de données

Si le compte de la base de données source n'a pas été créé dans la console ApsaraDB RDS for MySQL, assurez-vous que le compte dispose des autorisations REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW et SELECT.

Facturation

Type de synchronisation

Facturation

Synchronisation complète des données

Gratuit

Synchronisation incrémentielle des données

Facturé. Consultez Aperçu de la facturation.

Limites et notes d'utilisation

Limites de la base de données source

  • Le serveur sur lequel la base de données source est déployée doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante réduit la vitesse de synchronisation.

  • Les tables à synchroniser doivent posséder une clé primaire ou une contrainte UNIQUE avec des valeurs de champ uniques. Les tables dépourvues de ces contraintes peuvent générer des données en double dans la destination.

  • Seules les tables peuvent être sélectionnées comme objets de synchronisation.

  • Lors de l'utilisation du mappage de noms d'objets (par exemple, pour mapper les noms de tables ou de colonnes), une seule tâche prend en charge un maximum de 1 000 tables. Pour synchroniser plus de 1 000 tables avec mappage de noms, répartissez-les sur plusieurs tâches.

  • La classe de stockage de l'instance PolarDB-X 1,0 doit être RDS MySQL (une instance RDS privée personnalisée). PolarDB MySQL n'est pas pris en charge.

  • N'effectuez pas d'opérations DDL pendant la synchronisation complète des données, car cela entraînerait l'échec de la tâche.

    Pendant la phase de synchronisation complète, DTS interroge la base de données source et peut générer des verrous de métadonnées, ce qui peut bloquer les opérations DDL sur la source.
  • Les modifications de données résultant d'opérations non enregistrées dans les journaux binaires ne sont pas synchronisées. Cela inclut la récupération de données à l'aide de sauvegardes physiques et les opérations en cascade.

    Si cela se produit, supprimez la base de données ou la table concernée des objets de synchronisation, puis ajoutez-la à nouveau, si votre activité le permet. Consultez Modifier les objets à synchroniser .
  • Colonnes invisibles (MySQL 8.0.23 et versions ultérieures) : Si les données à synchroniser contiennent des colonnes invisibles, DTS ne peut pas obtenir les données de ces colonnes, ce qui peut entraîner une perte de données. Exécutez la commande suivante pour rendre les colonnes invisibles visibles :

    ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE;

    Les tables sans clé primaire génèrent automatiquement une clé primaire invisible, qui doit également être rendue visible. Consultez Colonnes invisibles et Clés primaires invisibles générées.

  • Si la table PolarDB-X 1,0 de destination a le partitionnement automatique activé (auto_partition=true), chaque instruction DDL exécutée sur la source ne peut contenir qu'une seule alter_specification. Sinon, DTS signale une erreur (TDDL-4998 : Multi alter specifications when create GSI not support yet). Pour exécuter une instruction DDL contenant plusieurs éléments alter_specification, divisez chaque alter_specification en une instruction DDL distincte et exécutez-les une par une. Pour plus d'informations, consultez ALTER TABLE.

Autres limites

  • EncDB (toujours confidentiel) : La synchronisation complète des données n'est pas prise en charge lorsque la fonctionnalité toujours confidentiel (EncDB) est activée sur l'instance RDS MySQL source.

    Les instances avec le chiffrement transparent des données (TDE) activé prennent en charge la synchronisation du schéma, la synchronisation complète des données et la synchronisation incrémentielle des données.
  • Si vous effectuez des opérations DDL en ligne utilisant des tables temporaires dans la base de données source, telles que la fusion de plusieurs tables, des données peuvent être perdues dans la base de données de destination ou l'instance DTS peut échouer.

  • N'utilisez pas d'outils tels que pt-online-schema-change pour effectuer des opérations DDL en ligne sur les objets en cours de synchronisation, car cela entraînerait l'échec de la tâche.

  • L'écriture de données provenant d'autres sources dans la base de données de destination pendant la synchronisation peut provoquer une incohérence des données.

  • Évaluez l'impact sur les performances des bases de données source et de destination avant de démarrer la synchronisation. Exécutez les tâches de synchronisation pendant les heures creuses lorsque cela est possible. La synchronisation complète des données utilise les ressources de lecture et d'écriture des deux bases de données et peut augmenter la charge du serveur.

  • Une fois la synchronisation complète des données terminée, les opérations INSERT concurrentes peuvent provoquer une fragmentation dans les tables de destination. L'espace table utilisé de la base de données de destination peut être supérieur à celui de la base de données source.

  • Si une instance DTS échoue, l'équipe d'assistance DTS tentera de la récupérer dans un délai de 8 heures. Les opérations de récupération peuvent inclure le redémarrage de l'instance ou l'ajustement des paramètres de l'instance DTS (et non des paramètres de la base de données). Consultez Modifier les paramètres de l'instance.

Cas particuliers pour les sources MySQL autogérées

  • Si un basculement primaire/secondaire se produit dans la base de données source pendant la synchronisation, la tâche échoue.

  • La latence de synchronisation est calculée à partir de la différence entre l'horodatage actuel et l'horodatage du dernier enregistrement de données synchronisé. Si aucune opération DML n'est effectuée sur la base de données source pendant une longue période, la latence affichée peut être inexacte. Effectuez une opération DML sur la source pour mettre à jour la valeur de latence.

    Si vous choisissez de synchroniser l'intégralité de la base de données, créez une table de heartbeat. DTS met à jour ou écrit dans la table de heartbeat chaque seconde pour maintenir la précision de la lecture de la latence.
  • DTS exécute périodiquement CREATE DATABASE IF NOT EXISTS sur la base de données source pour faire avancer le décalage du journal binaire.

Cas particuliers pour les sources ApsaraDB RDS for MySQL

  • Les instances ApsaraDB RDS for MySQL qui n'enregistrent pas les journaux de transactions, telles que les instances en lecture seule d'ApsaraDB RDS for MySQL 5.6, ne peuvent pas être utilisées comme base de données source.

  • DTS exécute périodiquement CREATE DATABASE IF NOT EXISTS sur la base de données source pour faire avancer le décalage du journal binaire.

Créer une tâche de synchronisation de données

Étape 1 : Accédez à la page Synchronisation des données

Utilisez soit la console DTS, soit la console DMS.

Console DTS

  1. Connectez-vous à la console DTS.console DTS

  2. Dans le volet de navigation de gauche, cliquez sur Data Synchronization.

  3. Dans le coin supérieur gauche, sélectionnez la région où réside l'instance de synchronisation.

Console DMS

Remarque

Les opérations réelles peuvent varier en fonction du mode et de la disposition de la console DMS. Consultez Mode simple et Personnaliser la disposition et le style de la console DMS.

  1. Connectez-vous à la console DMS.console DMS

  2. Dans la barre de navigation supérieure, placez le pointeur sur Data + AI et choisissez DTS (DTS) > Data Synchronization.

  3. Dans la liste déroulante à droite de Data Synchronization Tasks, sélectionnez la région où réside l'instance de synchronisation.

Étape 2 : Configurez les bases de données source et de destination

  1. Cliquez sur Create Task.

  2. Sur la page de configuration de la tâche, définissez les paramètres suivants.

Général

Paramètre

Description

Task Name

DTS génère automatiquement un nom de tâche. Spécifiez un nom descriptif pour faciliter l'identification de la tâche. Le nom n'a pas besoin d'être unique.

Base de données source

Paramètre

Valeur

Select Existing Connection

Sélectionnez une instance de base de données enregistrée dans la liste déroulante. DTS remplit automatiquement les autres paramètres. Si l'instance n'est pas enregistrée auprès de DTS, configurez manuellement les paramètres ci-dessous. Dans la console DMS, sélectionnez l'instance dans la liste Select a DMS database instance.

Database Type

MySQL

Access Method

Alibaba Cloud Instance

Instance Region

La région où réside l'instance ApsaraDB RDS for MySQL source

Replicate Data Across Alibaba Cloud Accounts

No (pour les instances sous le compte actuel)

RDS Instance ID

L'ID de l'instance ApsaraDB RDS for MySQL source

Database Account

Le compte de l'instance source. Consultez Autorisations requises pour les comptes de base de données.

Database Password

Le mot de passe du compte de base de données

Encryption

Non-encrypted ou SSL-encrypted. Pour utiliser le chiffrement SSL, activez le chiffrement SSL sur l'instance RDS avant de configurer cette tâche. Consultez Utiliser un certificat cloud pour activer le chiffrement SSL.

Base de données de destination

Paramètre

Valeur

Select Existing Connection

Sélectionnez une instance de base de données enregistrée dans la liste déroulante. DTS remplit automatiquement les autres paramètres. Si l'instance n'est pas enregistrée auprès de DTS, configurez manuellement les paramètres ci-dessous. Dans la console DMS, sélectionnez l'instance dans la liste Select a DMS database instance.

Database Type

PolarDB-X 1,0

Access Method

Alibaba Cloud Instance

Instance Region

La région où réside l'instance PolarDB-X 1,0 de destination

Instance ID

L'ID de l'instance PolarDB-X 1,0 de destination

Database Account

Le compte de l'instance de destination. Consultez Autorisations requises pour les comptes de base de données.

Database Password

Le mot de passe du compte de base de données

  1. Cliquez sur Test Connectivity and Proceed.

Assurez-vous que les blocs CIDR du serveur DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination. Consultez Ajouter les adresses IP des serveurs DTS à une liste d'autorisation . Si la base de données source ou de destination est une base de données autogérée non accessible via Alibaba Cloud Instance , cliquez sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers .

Étape 3 : Configurez les objets de synchronisation

À l'étape Configure Objects, définissez les paramètres suivants.

Paramètre

Description

Synchronization Types

Incremental Data Synchronization est sélectionné par défaut. Vous pouvez éventuellement sélectionner Full Data Synchronization. Schema Synchronization ne peut pas être sélectionné ; créez manuellement le schéma cible avant de démarrer la tâche. Une fois la pré-vérification réussie, DTS synchronise les données historiques de la source comme base pour la synchronisation incrémentielle.

Processing Mode of Conflicting Tables

Precheck and Report Errors : vérifie si la destination contient des tables portant des noms identiques à ceux de la source. Si des noms identiques existent, une erreur est renvoyée lors de la pré-vérification et la tâche ne peut pas démarrer. Pour gérer les conflits de nommage, utilisez le mappage de noms d'objets pour renommer les tables synchronisées. Consultez Mapper les noms d'objets. <br><br> Ignore Errors and Proceed : ignore la pré-vérification pour les noms de tables identiques. >

Avertissement

Cette option peut provoquer une incohérence des données. Si la source et la destination partagent le même schéma et qu'un enregistrement dans la destination possède la même clé primaire ou clé unique qu'un enregistrement source : lors de la synchronisation complète, DTS conserve l'enregistrement de destination existant ; lors de la synchronisation incrémentielle, DTS l'écrase. Si les schémas diffèrent, l'initialisation peut échouer ou seules certaines colonnes sont synchronisées.

Capitalization of object names in destination instance

Contrôle la casse des noms de bases de données, de tables et de colonnes dans la destination. Par défaut : DTS default policy. Consultez Spécifier la casse des noms d'objets dans l'instance de destination.

Source Objects

Sélectionnez une ou plusieurs tables et cliquez sur l'icône de flèche pour les déplacer vers Selected Objects. Seules les tables peuvent être sélectionnées comme objets de synchronisation.

Selected Objects

Faites un clic droit sur un objet pour le renommer (objet unique) ou cliquez sur Batch Edit pour renommer plusieurs objets à la fois. Consultez Mapper les noms d'objets. Faites un clic droit sur une table pour sélectionner des opérations DML spécifiques pour la synchronisation incrémentielle (INSERT, UPDATE, DELETE) ou pour définir des conditions de filtre WHERE. Consultez Filtrer les données de tâche avec une condition SQL. Si vous utilisez le mappage de noms d'objets, d'autres objets qui dépendent de l'objet mappé peuvent échouer à se synchroniser.

Cliquez sur Next: Advanced Settings.

Étape 4 : Configurez les paramètres avancés

Paramètre

Description

Dedicated Cluster for Task Scheduling

Par défaut, DTS planifie la tâche sur le cluster partagé. Achetez un cluster dédié pour améliorer la stabilité de la synchronisation. Consultez Qu'est-ce qu'un cluster dédié DTS ?.

Retry Time for Failed Connections

Durée pendant laquelle DTS effectue des tentatives après un échec de connexion. Valeurs valides : 10 à 1 440 minutes. Par défaut : 720 minutes. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 30 minutes. Si DTS se reconnecte dans cette fenêtre, la tâche reprend ; sinon, la tâche échoue. Si plusieurs tâches partagent la même base de données source ou de destination, la durée de nouvelle tentative la plus courte parmi ces tâches s'applique. DTS facture l'instance pendant la période de nouvelle tentative.

Retry Time for Other Issues

Durée pendant laquelle DTS effectue des tentatives après des échecs d'opérations DDL ou DML. Valeurs valides : 1 à 1 440 minutes. Par défaut : 10 minutes. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 10 minutes. Cette valeur doit être inférieure à Retry Time for Failed Connections.

Enable Throttling for Full Data Synchronization

Limite l'utilisation des ressources de lecture/écriture pendant la synchronisation complète des données. Configurez QPS (queries per second) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s). Disponible uniquement lorsque Full Data Synchronization est sélectionné.

Enable Throttling for Incremental Data Synchronization

Limite l'utilisation des ressources pendant la synchronisation incrémentielle. Configurez RPS of Incremental Data Synchronization et Data synchronization speed for incremental synchronization (MB/s).

Environment Tag

Un tag facultatif pour identifier l'instance par type d'environnement.

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

Contrôle si DTS écrit des opérations SQL de heartbeat dans la base de données source. Yesalert notification settings : n'écrit pas de SQL de heartbeat ; l'instance DTS peut afficher une valeur de latence. No : écrit du SQL de heartbeat ; cela peut affecter des fonctionnalités telles que la sauvegarde physique et le clonage de la base de données source.

Configure ETL

Indique s'il faut activer la fonctionnalité extract, transform, and load (ETL). Yes : configurez ETL en saisissant des instructions de traitement des données dans l'éditeur de code. Consultez Configurer ETL dans une tâche de migration ou de synchronisation de données. No : ETL est désactivé. Consultez Qu'est-ce que ETL ?

Monitoring and Alerting

Indique s'il faut configurer des alertes. Yes : définissez le seuil d'alerte et les contacts de notification ; DTS les notifie si la tâche échoue ou si la latence dépasse le seuil. Consultez Configurer la surveillance et les alertes lors de la création d'une tâche DTS. No : aucune alerte.

Étape 5 : Exécutez la pré-vérification

Cliquez sur Next: Save Task Settings and Precheck.

Pour afficher les paramètres API pour cette configuration de tâche, survolez Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters .

La tâche exécute une pré-vérification avant de démarrer. La tâche ne peut démarrer qu'après la réussite de la pré-vérification.

  • Si un élément échoue, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème et cliquez sur Precheck Again.

  • Si un élément déclenche une alerte pouvant être ignorée, cliquez sur Confirm Alert Details, puis cliquez sur Ignore > OK > Precheck Again. Ignorer les éléments d'alerte peut provoquer une incohérence des données.

Étape 6 : Achetez l'instance

  1. Attendez que le Success Rate atteigne 100%, puis cliquez sur Next: Purchase Instance.

  2. Sur la page d'achat, configurez les paramètres suivants.

Paramètre

Description

Billing Method

Subscription : payez à l'avance pour une durée fixe ; plus rentable pour une utilisation à long terme. Pay-as-you-go : facturé à l'heure ; adapté à une utilisation à court terme. Libérez l'instance lorsqu'elle n'est plus nécessaire pour arrêter la facturation.

Resource Group Settings

Le groupe de ressources pour l'instance de synchronisation. Par défaut : default resource group. Consultez Qu'est-ce que Resource Management ?

Instance Class

Le niveau de performance de synchronisation. Consultez Classes d'instances des instances de synchronisation de données.

Subscription Duration

Disponible uniquement pour la méthode de facturation Subscription. Valeurs valides : 1 à 9 mois, ou 1, 2, 3 ou 5 ans.

  1. Lisez et sélectionnez Data Transmission Service (Pay-as-you-go) Service Terms.

  2. Cliquez sur Buy and Start, puis cliquez sur OK pour confirmer.

La tâche apparaît dans la liste des tâches. Surveillez sa progression à cet endroit.