Tous les produits
Search
Centre de documentation

Data Transmission Service:Synchroniser des données d'une instance ApsaraDB RDS for MySQL vers Lindorm

Dernière mise à jour :Oct 12, 2026

Data Transmission Service (DTS) vous permet de synchroniser des données d'une base de données MySQL vers le moteur LindormTable d'une instance Lindorm. Cette rubrique utilise une instance ApsaraDB RDS for MySQL comme source.

Prérequis

Avant de commencer, assurez-vous d'avoir :

Facturation

Type de synchronisation

Frais

Synchronisation complète des données

Gratuit

Synchronisation incrémentielle des données

Facturé. Consultez la rubrique Présentation de la facturation.

Opérations SQL prises en charge par la synchronisation incrémentielle

Type

Instructions SQL

DML

INSERT, UPDATE, DELETE

DDL

CREATE TABLE, DROP TABLE, ADD COLUMN

Remarque

Lorsque les instructions ADD COLUMN incluent des attributs supplémentaires, seule la définition de la colonne est synchronisée ; les attributs tels que les valeurs par défaut sont ignorés. Par exemple, l'instruction ALTER TABLE test ADD COLUMN col INT DEFAULT 0; sur la source entraîne l'exécution de ALTER TABLE test ADD COLUMN col INT; sur la destination, en raison des limites de LindormTable.

Autorisations requises pour les comptes de base de données

Base de données

Autorisations requises

Procédure d'attribution

RDS MySQL source

Autorisations de lecture et d'écriture sur les objets à synchroniser

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

Lindorm de destination

Autorisations de lecture et d'écriture sur le namespace de destination

Gestion des utilisateurs

Remarque

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

Limites

Limites de la base de données source

  • Les tables à synchroniser doivent disposer de clés primaires contenant des champs uniques. En l'absence de clés primaires, des données en double peuvent apparaître dans la destination.

  • Les types à virgule flottante tels que FLOAT et DOUBLE ne sont pas pris en charge en tant que clés primaires ou clés primaires composites.

  • Lors d'une synchronisation au niveau de la table avec mappage de noms, une seule tâche prend en charge un maximum de 1 000 tables. Le dépassement de cette limite entraîne une erreur après la soumission de la tâche. Répartissez les tables sur plusieurs tâches ou configurez la tâche pour synchroniser la base de données entière.

  • N'exécutez pas d'opérations DDL sur la base de données source pendant la phase de synchronisation complète des données, car cela entraînerait l'échec de la tâche. Les requêtes DTS ajoutent un verrou de métadonnées qui peut également bloquer les opérations DDL sur la source durant cette phase.

  • Les modifications de données résultant d'opérations non enregistrées dans les journaux binaires, telles que la restauration de sauvegarde physique et les opérations en cascade, ne sont pas synchronisées vers la destination. Si cela se produit et que votre activité le permet, retirez la base de données ou la table concernée des objets de synchronisation, puis ajoutez-la à nouveau. Consultez Modifier les objets à synchroniser.

  • Pour MySQL 8.0.23 et versions ultérieures, les colonnes invisibles provoquent une perte de données car DTS ne peut pas les lire. Rendez les colonnes invisibles visibles avant de démarrer la synchronisation :

    • Exécutez ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; pour chaque colonne invisible. Consultez Colonnes invisibles.

    • Les tables sans clé primaire génèrent automatiquement une clé primaire invisible ; rendez-la également visible. Consultez Clés primaires invisibles générées.

Exigences relatives aux journaux binaires

Source ApsaraDB RDS for MySQL

La journalisation binaire est activée par défaut pour les instances RDS MySQL. Vérifiez que le paramètre suivant est correctement défini :

Paramètre

Valeur requise

Remarque

binlog_row_image

full

Si ce paramètre n'est pas correctement défini, la prévalidation signale une erreur et la tâche ne peut pas démarrer. Consultez Définir les paramètres de l'instance.

Conservez les journaux binaires locaux pendant au moins 3 jours (7 jours recommandés). Une rétention plus courte peut entraîner l'échec des tâches et, dans les cas extrêmes, une perte de données ou une incohérence. Les problèmes causés par une rétention insuffisante ne sont pas couverts par l'accord de niveau de service (SLA) du service DTS. Consultez Supprimer automatiquement les journaux locaux.

Source MySQL autogérée

Activez la journalisation binaire et définissez les paramètres suivants :

Paramètre

Valeur requise

Remarque

binlog_format

row

Requis pour que DTS capture les modifications au niveau des lignes.

binlog_row_image

full

Requis pour capturer l'image complète de la ligne pour chaque modification.

log_slave_updates

Activé

Requis uniquement pour l'architecture primaire/primaire, afin de garantir que DTS puisse obtenir tous les journaux binaires. Consultez Créer un compte de base de données pour une base de données MySQL autogérée et configurer la journalisation binaire.

Conservez les journaux binaires locaux pendant au moins 7 jours. Une rétention plus courte peut entraîner l'échec des tâches et, dans les cas extrêmes, une perte de données ou une incohérence. Les problèmes causés par une rétention insuffisante ne sont pas couverts par le SLA du service DTS.

Autres limites

Limite

Détails

Synchronisation du schéma

La synchronisation du schéma vers Lindorm s'appuie sur les capacités natives de Lindorm pour la création de schémas.

Limite d'index sur les colonnes non clés primaires

Lindorm impose une limite par défaut sur le nombre de colonnes pour les index sur les colonnes non clés primaires. DTS ne peut pas créer ces index lors de la synchronisation du schéma si le nombre de colonnes dépasse cette limite. Pour utiliser de tels index, créez-les manuellement. Pour plus de détails, consultez ALTER SYSTEM.

Types d'objets non pris en charge

Objets INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER et FK.

Données de type BIT

Non prises en charge.

Synchronisation des clés primaires uniquement

Non prise en charge. Les données à synchroniser doivent inclure au moins un champ non clé primaire.

Moteur de destination

Seul le moteur LindormTable est pris en charge.

Chaînes VARBINARY vides

Traitées comme nulles par DTS et Lindorm.

Incompatibilité de précision des champs DECIMAL

Si la précision du champ DECIMAL dans la destination diffère de celle de la source, la tâche échoue.

Limites des requêtes de données Lindorm

Les données écrites dans Lindorm doivent respecter ses limites des requêtes de données. Le dépassement de ces limites entraîne l'échec de la tâche.

Utilisation des ressources lors de la synchronisation complète

La synchronisation complète des données consomme des ressources de lecture et d'écriture sur les bases de données source et destination. Exécutez la synchronisation pendant les heures creuses, lorsque l'utilisation du CPU est inférieure à 30 % sur les deux instances.

Espace de table de destination après l'initialisation complète

L'initialisation complète exécute des opérations INSERT concurrentes, ce qui provoque une fragmentation des tables. Après l'initialisation complète, l'espace de table de destination sera plus grand que celui de la source.

Outils DDL en ligne pendant la synchronisation

N'utilisez pas d'outils tels que pt-online-schema-change pour effectuer des opérations DDL en ligne sur les objets synchronisés pendant qu'une tâche DTS est active, car cela entraînerait l'échec de la tâche.

Écritures externes vers la destination

L'écriture de données dans la base de données de destination à partir de sources autres que DTS pendant la synchronisation provoque une incohérence des données.

Fonctionnalité EncDB (confidentialité permanente)

Si la fonctionnalité EncDB est activée sur l'instance RDS for MySQL source, la synchronisation complète des données n'est pas prise en charge. Le chiffrement transparent des données (TDE) n'est pas soumis à cette restriction : les instances avec 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.

Récupération d'instance DTS

En cas d'échec d'une instance DTS, l'équipe d'assistance DTS tente une récupération sous 8 heures. Pendant la récupération, DTS peut redémarrer l'instance ou ajuster les paramètres de l'instance DTS (et non les paramètres de la base de données). Consultez Modifier les paramètres de l'instance.

Cas particuliers

Source MySQL autogérée

  • Un basculement primaire/secondaire dans la base de données source pendant la synchronisation entraîne l'échec de la tâche.

  • La latence est calculée à partir de la différence d'horodatage entre l'heure actuelle et le dernier enregistrement synchronisé vers la destination. Si aucune opération DML n'est effectuée sur la source pendant une période prolongée, la latence affichée peut être imprécise. Pour actualiser la latence, effectuez une opération DML sur la source. Vous pouvez également créer une table de heartbeat : DTS y écrit chaque seconde lorsque vous synchronisez la base de données entière.

  • DTS exécute périodiquement CREATE DATABASE IF NOT EXISTS \test\`` sur la source pour faire avancer le décalage du journal binaire.

  • Pour Amazon Aurora MySQL ou d'autres instances MySQL en mode cluster, le nom de domaine ou l'adresse IP configuré pour la tâche doit toujours résoudre vers le nœud en lecture/écriture (RW). Sinon, la tâche risque de ne pas s'exécuter correctement.

Source ApsaraDB RDS for MySQL

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

  • DTS exécute périodiquement CREATE DATABASE IF NOT EXISTS \test\`` sur la source pour faire avancer le décalage du journal binaire.

Configurer la tâche de synchronisation

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

Utilisez la console DTS ou 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 la tâche de synchronisation.

Console DMS

Remarque

Les étapes réelles peuvent varier selon le mode et la disposition de la console DMS. Consultez les rubriques 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, puis choisissez DTS (DTS) > Data Synchronization.

  3. Dans la liste déroulante située à côté de Data Synchronization Tasks, sélectionnez la région où réside l'instance.

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

  1. Cliquez sur Create Task.

  2. Configurez les bases de données source et de destination à l'aide des paramètres du tableau suivant.

Catégorie

Paramètre

Description

N/A

Nom de la tâche

Nom descriptif de la tâche DTS. DTS génère automatiquement un nom ; remplacez-le par un nom permettant d'identifier facilement la tâche. Les noms de tâches n'ont pas besoin d'être uniques.

Base de données source

Sélectionner une connexion existante

Si vous disposez déjà d'une instance de base de données enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante ; DTS renseigne automatiquement les autres paramètres. Dans la console DMS, effectuez votre sélection dans la liste Data Synchronization. Sinon, configurez manuellement les paramètres ci-dessous.

Type de base de données

Définissez ce paramètre sur Data + AI.

DTS (DTS)

Définissez ce paramètre sur Data Synchronization.

Région de l'instance

Sélectionnez la région de l'instance RDS MySQL source.

Répliquer les données entre les comptes Alibaba Cloud

Sélectionnez Data Synchronization Tasks si la base de données source appartient au compte Alibaba Cloud actuel.

ID d'instance RDS

Sélectionnez l'ID de l'instance RDS MySQL source.

Compte de base de données

Saisissez le compte de base de données. Pour connaître les autorisations requises, consultez la section Autorisations requises pour les comptes de base de données.

Mot de passe de la base de données

Mot de passe associé au compte de base de données.

Chiffrement

Sélectionnez Create Task ou SSL-encrypted selon vos besoins. Pour utiliser le chiffrement SSL, activez-le sur l'instance RDS for MySQL avant de configurer la tâche DTS. Consultez la rubrique Utiliser un certificat cloud pour activer le chiffrement SSL.

Base de données de destination

Sélectionner une connexion existante

Si vous disposez déjà d'une instance de base de données enregistrée auprès de DTS, sélectionnez-la dans la liste déroulante ; DTS renseigne automatiquement les autres paramètres. Dans la console DMS, effectuez votre sélection dans la liste Select a DMS database instance. Sinon, configurez manuellement les paramètres ci-dessous.

Type de base de données

Définissez ce paramètre sur Lindorm.

Access Method

Définissez ce paramètre sur Alibaba Cloud Instance.

Région de l'instance

Sélectionnez la région de l'instance Lindorm de destination.

ID d'instance

Sélectionnez l'ID de l'instance Lindorm de destination.

Compte de base de données

Saisissez le compte de base de données de l'instance Lindorm de destination. Pour connaître les autorisations requises, consultez la section Autorisations requises pour les comptes de base de données.

Mot de passe de la base de données

Mot de passe associé au compte de base de données.

  1. Cliquez sur Test Connectivity and Proceed.

    Remarque

    Les adresses IP des serveurs DTS doivent être ajoutées aux paramètres de sécurité des bases de données source et de destination. Cette opération peut être effectuée automatiquement ou manuellement. Consultez la rubrique Ajouter les adresses IP des serveurs DTS à une liste d'autorisation. Si la source ou la destination est une base de données auto-gérée avec une méthode d'accès autre que Non-encrypted, cliquez sur Test Connectivity dans la boîte de dialogue Select a DMS database instance.

Étape 3 : Configurer les objets de synchronisation

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

Paramètre

Description

Access Method

L'option Alibaba Cloud Instance est sélectionnée par défaut. Vous pouvez également sélectionner Test Connectivity and Proceed. L'option Alibaba Cloud Instance n'est pas disponible. Lorsque la synchronisation complète des données est activée, DTS synchronise les données historiques de la source vers la destination avant de démarrer la synchronisation incrémentielle.

Processing Mode of Conflicting Tables

Conservez la valeur par défaut.

CIDR Blocks of DTS Servers

Contrôle la casse des noms de bases de données, de tables et de colonnes dans la destination. La valeur par défaut est DTS default policy. Sélectionnez une autre option si vous souhaitez que la casse corresponde à celle de la source ou de la destination. Consultez la rubrique Spécifier la casse des noms d'objets dans l'instance de destination.

Synchronization Types

Sélectionnez les bases de données ou les tables à synchroniser, puis cliquez sur l'icône 向右 pour les déplacer vers Incremental Data Synchronization.

Full Data Synchronization

Si les noms des bases de données, des tables ou des colonnes dans l'instance Lindorm de destination diffèrent de ceux de l'instance RDS MySQL source, utilisez le mappage des noms d'objets. Consultez la rubrique Mapper les noms de tables et de colonnes.

Remarque

Le renommage d'un objet via le mappage des noms peut empêcher la synchronisation des objets dépendants. Pour filtrer les lignes, cliquez avec le bouton droit sur une table dans Schema Synchronization et spécifiez des conditions WHERE. Consultez la rubrique Spécifier les conditions de filtrage. Pour sélectionner des opérations SQL spécifiques pour la synchronisation incrémentielle, cliquez avec le bouton droit sur un objet et choisissez les opérations à inclure.

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

Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.

Paramètre

Description

Capitalization of Object Names in Destination Instance

Par défaut, DTS planifie la tâche sur un cluster partagé. Pour une stabilité accrue, achetez un cluster dédié. Consultez la rubrique Qu'est-ce qu'un cluster dédié DTS ?.

Retry Time for Failed Connections

Durée pendant laquelle DTS effectue des nouvelles tentatives après un échec de connexion. Valeurs valides : 10 à 1 440 minutes. Valeur par défaut : 720 minutes. Définissez cette valeur sur au moins 30 minutes. Si DTS se reconnecte dans ce délai, la tâche reprend automatiquement ; sinon, elle échoue.

Remarque

Lorsque plusieurs tâches partagent la même source ou la même destination, la période de nouvelle tentative la plus courte est prioritaire. DTS facture l'instance pendant les périodes de nouvelle tentative ; définissez cette valeur en fonction de vos besoins métier.

Source Objects

Durée pendant laquelle DTS effectue des nouvelles tentatives après des échecs d'opérations DDL ou DML. Valeurs valides : 1 à 1 440 minutes. Valeur par défaut : 10 minutes. Définissez cette valeur sur une durée supérieure à 10 minutes. Cette valeur doit être inférieure à Selected Objects.

Selected Objects

Limite le débit de la synchronisation complète des données pour réduire la charge sur la destination. Configurez les paramètres Selected Objects, RPS of Full Data Migration et Dedicated Cluster for Task Scheduling. Disponible uniquement lorsque l'option Full Data Synchronization est sélectionnée.

Retry Time for Other Issues

Limite le débit de la synchronisation incrémentielle des données. Configurez les paramètres Retry Time for Failed Connections et Enable Throttling for Full Data Synchronization.

Queries per second (QPS) to the source database

Tag facultatif permettant d'identifier l'environnement de l'instance.

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

Contrôle si DTS écrit les opérations SQL de heartbeat dans la base de données source. Sélectionnez Data migration speed for full migration (MB/s)paramètres de notification d'alerte pour ignorer l'écriture (une valeur de latence peut s'afficher pour l'instance). Sélectionnez No pour écrire les opérations de heartbeat (cela peut affecter les sauvegardes physiques et le clonage de la base de données source).

Enable Throttling for Incremental Data Synchronization

Sélectionnez RPS of Incremental Data Synchronization pour activer la fonctionnalité Extract, Transform, Load (ETL) et saisir les instructions de traitement des données. Consultez les rubriques Qu'est-ce que l'ETL ? et Configurer l'ETL dans une tâche de migration ou de synchronisation des données. Sélectionnez Data synchronization speed for incremental synchronization (MB/s) pour ignorer cette étape.

Environment Tag

Sélectionnez Yes pour recevoir des notifications en cas d'échec de la tâche ou si la latence dépasse un seuil. Configurez le seuil d'alerte et les paramètres de notification. Consultez la rubrique Configurer la surveillance et les alertes lors de la création d'une tâche DTS. Sélectionnez Yes pour désactiver les alertes.

Étape 5 : Exécuter la prévérification

Cliquez sur No.

Remarque

Pour afficher un aperçu des paramètres API pour cette configuration de tâche, placez le pointeur sur Configure ETL et cliquez sur Preview OpenAPI parameters avant de continuer.

DTS exécute une prévérification avant de démarrer la tâche. Si certains éléments échouent :

  • Cliquez sur No à côté de l'élément ayant échoué, analysez la cause, corrigez le problème, puis cliquez sur Monitoring and Alerting.

  • Si un élément d'alerte ne peut pas être ignoré, cliquez sur Yes à côté de l'élément ayant échoué, résolvez le problème, puis relancez une prévérification.

  • Si un élément d'alerte peut être ignoré, cliquez sur No, puis sur Next: Save Task Settings and Precheck dans la boîte de dialogue des détails, cliquez sur Next: Save Task Settings and Precheck, puis sur Precheck Again. Ignorer les éléments d'alerte peut entraîner une incohérence des données.

Étape 6 : Acheter l'instance

  1. Attendez que le View Details atteigne 100%, puis cliquez sur View Details.

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

Paramètre

Description

Méthode de facturation

Abonnement : Paiement anticipé pour une durée fixe. Plus rentable pour une utilisation à long terme. Paiement à l'utilisation : Facturation horaire. Adapté à une utilisation à court terme — libérez l'instance lorsqu'elle n'est plus nécessaire pour arrêter la facturation.

Paramètres du groupe de ressources

Groupe de ressources de l'instance. Par défaut : groupe de ressources par défaut. Consultez la rubrique Qu'est-ce que Resource Management ?

Classe d'instance

La vitesse de synchronisation varie selon la classe d'instance. Sélectionnez-en une en fonction de vos besoins. Consultez la rubrique Classes d'instances des instances de synchronisation des données.

Durée de l'abonnement

Disponible uniquement pour la méthode de facturation Abonnement. Options : 1 à 9 mois, 1 an, 2 ans, 3 ans ou 5 ans.

  1. Lisez et acceptez les Confirm Alert Details.

  2. Cliquez sur Ignore, puis sur OK dans la boîte de dialogue de confirmation.

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