Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Utiliser des instances de réplication native

Dernière mise à jour :Sep 15, 2026

La réplication native d'ApsaraDB RDS for MySQL vous permet de répliquer les données d'une base de données MySQL autogérée directement vers une instance RDS en utilisant la réplication MySQL standard, sans outils de migration supplémentaires ni services de transfert de données payants.

Cas d'utilisation

  • Migration vers le cloud avec un temps d'arrêt minimal : importez une sauvegarde complète de votre base de données autogérée, puis maintenez l'instance RDS synchronisée via la réplication jusqu'à ce que vous soyez prêt à basculer votre application.

  • Synchronisation hybride des données : maintenez une synchronisation continue entre votre MySQL sur site et votre instance RDS dans le cloud, par exemple lors d'une migration progressive ou dans le cadre d'une configuration de reprise après sinistre.

  • Réplication multicloud : répliquez les données d'une base de données MySQL hébergée chez un autre fournisseur de cloud vers une instance ApsaraDB RDS for MySQL.

Prérequis

Avant de commencer, assurez-vous que :

  • Version de la base de données : MySQL 5.7 (version mineure 20240930 ou ultérieure) ou MySQL 8.0 (version mineure 20250531 ou ultérieure)

  • Série de produits : Édition de base

  • Méthode de facturation : Abonnement ou paiement à l'utilisation

  • Région : Chine (Shanghai), Chine (Pékin), Chine (Shenzhen), Chine (Guangzhou) ou Chine (Chengdu)

La réplication native est actuellement disponible uniquement dans les régions listées ci-dessus. Si vous avez besoin de cette fonctionnalité dans d'autres régions, soumettez un ticket .

Pour utiliser une instance de réplication native Serverless native replication instance, créez d'abord une instance en paiement à l'utilisation, activez la réplication native, puis modifiez la méthode de facturation pour passer à Serverless.

Facturation

  • Nouvelle instance avec réplication native activée : les frais d'instance standards s'appliquent. Aucun frais supplémentaire n'est facturé pour la fonctionnalité de réplication native elle-même.

  • Mise à niveau d'une instance existante : aucun frais supplémentaire.

  • Importation de données via Object Storage Service (OSS) : les frais de stockage OSS s'appliquent pendant toute la durée de stockage du fichier de sauvegarde dans OSS.

Limitations

Limitations fonctionnelles

  • L'instance fonctionne en mode read-only tant que la réplication native est active.

  • Les mises à niveau de version majeure ne sont pas prises en charge.

  • La réplication entre versions majeures différentes n'est pas prise en charge. La base de données MySQL autogérée et l'instance de réplication native RDS doivent exécuter la même version majeure (par exemple, toutes deux MySQL 8.0).

  • La mise à niveau de la série de produits n'est pas prise en charge (par exemple, le passage de l'Édition de base à l'Édition haute disponibilité ou à l'Édition Cluster).

  • Le changement de VPC n'est pas pris en charge.

  • La récupération de bases de données et de tables n'est pas prise en charge.

  • Lorsque vous mettez à niveau une instance existante vers une instance de réplication native, une interruption de connexion transitoire d'environ 30 secondes peut se produire. Effectuez cette opération pendant les heures creuses et assurez-vous que votre application dispose d'un mécanisme de reconnexion.

Limitations des autorisations

Portée du compte privilégié

Certains privilèges SUPER liés à la réplication native sont accordés au compte privilégié de l'instance RDS. Seul le compte privilégié peut exécuter les commandes de réplication native telles que CHANGE MASTER TO (MySQL 5.7) ou CHANGE REPLICATION SOURCE TO (MySQL 8.0).

Liste d'autorisation des permissions de réplication

Lorsque la réplication native applique des événements de journal binaire provenant d'une source externe, elle vérifie d'abord les autorisations. Toute opération nécessitant des autorisations au-delà de la liste suivante est rejetée et interrompt la réplication :

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE,
DROP, RELOAD, PROCESS, REFERENCES, INDEX,
ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES,
LOCK TABLES, EXECUTE, REPLICATION SLAVE,
REPLICATION CLIENT, CREATE VIEW, SHOW VIEW,
CREATE ROUTINE, ALTER ROUTINE, CREATE USER,
EVENT, TRIGGER ON *.* TO XXX;

Limitations des bases de données système

Toutes les opérations sur les bases de données système sont ignorées pendant la réplication. Les bases de données système incluent mysql, sys, information_schema, performance_schema et __recyclebin__.

Les opérations qui modifient indirectement les bases de données système, telles que CREATE USER et GRANT , ne sont pas ignorées. Ces opérations doivent respecter la liste d'autorisation des permissions de réplication. Les instructions dépassant les autorisations accordées, comme GRANT SUPER ON *.* TO xxx; , interrompront la réplication.

Limitations GTID

ApsaraDB RDS for MySQL exige que le mode Global Transaction Identifier (GTID) soit activé et ne prend pas en charge sa désactivation. Pour répliquer depuis une base de données MySQL externe, la source doit également avoir GTID activé.

Avant de configurer la réplication, exécutez la commande suivante sur la base de données source pour vérifier l'état GTID :

SHOW VARIABLES LIKE 'gtid_mode';

Si GTID n'est pas activé, exécutez :

SET GLOBAL gtid_mode = ON;

Comportement lors de la maintenance

Lors des opérations de maintenance, telles qu'une migration entre serveurs ou une mise à niveau de version mineure, les autorisations liées aux commandes de réplication native et à la modification des paramètres sont temporairement révoquées. Le processus de réplication lui-même n'est pas affecté. Les autorisations sont restaurées automatiquement une fois la maintenance terminée.

Autorisations de réplication native

Les comptes privilégiés sur les instances de réplication native disposent d'autorisations supplémentaires non disponibles sur les instances RDS standard.

Commandes de réplication

Commande (MySQL 5.7) Commande (MySQL 8.0) Description
CHANGE MASTER TO CHANGE REPLICATION SOURCE TO Configurez la source et la position de départ pour la réplication. Consultez la documentation MySQL 5.7.
START SLAVE START REPLICA Démarrez le processus de réplication.
STOP SLAVE STOP REPLICA Arrêtez le processus de réplication.
RESET SLAVE RESET REPLICA Réinitialisez l'état du réplica pour redémarrer la réplication depuis la source.

Modification des paramètres

Les comptes privilégiés peuvent également modifier les paramètres d'exécution suivants :

  • `SET GLOBAL read_only = ON/OFF;` — Basculez l'instance entre le mode lecture seule (ON) et lecture/écriture (OFF).

  • SET SESSION sql_log_bin = ON/OFF; — Contrôlez si les instructions SQL de la session actuelle sont enregistrées dans le journal binaire.

  • SET SESSION GTID_NEXT = "<gtid_value>"; — Définissez la valeur GTID pour la prochaine transaction.

Étape 1 : Activer la réplication native

Activer la réplication native sur une nouvelle instance

Lors de la création d'une nouvelle instance ApsaraDB RDS for MySQL sur la page Standard Create, faites défiler vers le bas, développez More et activez l'option Native Replication.

Cette option n'apparaît que si la configuration de l'instance respecte les prérequis.

image

Activer la réplication native sur une instance existante

Important

La mise à niveau d'une instance existante provoque une interruption de connexion transitoire d'environ 30 secondes. Effectuez cette opération pendant les heures creuses et assurez-vous que votre application dispose d'un mécanisme de reconnexion.

  1. Accédez à la page RDS Instances, sélectionnez une région et cliquez sur l'ID de l'instance cible.

  2. Dans le volet de navigation de gauche, cliquez sur Native Replication, puis cliquez sur Enable.

  3. Vérifiez les informations dans la boîte de dialogue et cliquez sur OK.

Si le compte de service officiel ApsaraDB RDS ne dispose pas encore des autorisations nécessaires pour accéder à votre OSS et pour créer et attacher des interfaces réseau élastiques (ENI), cochez les cases correspondantes dans la boîte de dialogue pour accorder ces autorisations.

Étape 2 : Configurer la connectivité réseau

Avant d'importer les données, assurez-vous que la base de données MySQL autogérée peut communiquer avec l'instance RDS via le réseau.

Scénario Configuration Frais
MySQL autogéré sur ECS dans le même VPC La connectivité réseau est disponible par défaut. Configurez le groupe de sécurité ECS pour autoriser le trafic entrant sur le port 3306 depuis l'adresse IP de l'instance RDS. Pour obtenir l'adresse IP de l'instance RDS, connectez-vous à l'instance et exécutez SHOW VARIABLES LIKE 'report_host';. Aucun
Inter-VPC ou inter-région sur Alibaba Cloud Utilisez une connexion d'appairage VPC ou Cloud Enterprise Network (CEN). Les frais de connexion d'appairage VPC s'appliquent. Les instances CEN sont gratuites, mais des frais de transfert de données et de bande passante peuvent s'appliquer.
Centre de données sur site vers le cloud Utilisez une passerelle VPN ou une ligne louée pour connecter votre centre de données au VPC. Les frais varient selon la méthode. Consultez la documentation officielle pour plus de détails.
Autre fournisseur de cloud vers ApsaraDB RDS Utilisez un VPN ou une ligne louée pour établir une connexion réseau inter-cloud. Les frais varient selon la méthode. Consultez la documentation officielle pour plus de détails.
Réseau public (non recommandé) Les instances de réplication native ApsaraDB RDS prennent en charge l'accès au réseau public. Cette méthode n'est pas recommandée en raison des risques de sécurité. Les frais varient selon la méthode.

Pour une référence complète, consultez la rubrique Connexions et mise en réseau.

Étape 3 : Importer les données complètes et configurer la réplication

Importez une sauvegarde complète de votre base de données autogérée dans RDS, puis configurez la réplication incrémentielle pour maintenir la synchronisation entre les deux bases de données.

Installer Percona XtraBackup et sauvegarder la base de données source

Installez Percona XtraBackup sur l'hôte de votre base de données autogérée.

Installation sur CentOS

Pour MySQL 5.7 :

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm

Pour MySQL 8.0 :

wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

Installation sur Ubuntu

Pour MySQL 5.7 :

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm

Pour MySQL 8.0 :

wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

XtraBackup sur Ubuntu n'inclut pas qpress. Installez-le séparément :

sudo apt-get install -y qpress

Créer la sauvegarde

Les commandes suivantes concernent les bases de données utilisant principalement le moteur InnoDB. Si votre base de données contient des tables MyISAM, utilisez plutôt la commande innobackupex.

Trois méthodes de compression sont prises en charge. Choisissez-en une :

Méthode 1 : Compression qpress par défaut

xtrabackup --backup \
  --host=127.0.0.1 \
  --port=3306 \
  --user=<user_of_self-managed_MySQL> \
  --password=<password> \
  --stream=xbstream \
  --compress > ./<backup_file_name>.xb

Méthode 2 : Compression QuickLZ

Nécessite la version 8.0.34-29 ou antérieure de XtraBackup. Consultez la documentation Percona XtraBackup pour plus de détails.

xtrabackup --backup \
  --host=127.0.0.1 \
  --port=3306 \
  --user=<user_of_self-managed_MySQL> \
  --password=<password> \
  --stream=xbstream \
  --compress > ./<backup_file_name>_qp.xb

Méthode 3 : Compression Zstandard (zstd)

xtrabackup --backup \
  --host=127.0.0.1 \
  --port=3306 \
  --user=<user_of_self-managed_MySQL> \
  --password=<password> \
  --stream=xbstream \
  | zstd -q - > ./<backup_file_name>.xb.zstd

Importer la sauvegarde et configurer la réplication

Deux méthodes d'importation sont disponibles. Si vous pouvez télécharger le fichier de sauvegarde vers OSS, utilisez la Méthode 1. Si votre environnement est contraint et qu'un streaming direct est préférable, utilisez la Méthode 2.

Méthode 1 : Importer un fichier de sauvegarde depuis OSS

Télécharger la sauvegarde vers un compartiment OSS

Le compartiment OSS doit se trouver dans la même région que l'instance RDS.

Installez ossutil :

yum install -y unzip
sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
ossutil config

Téléchargez le fichier de sauvegarde :

ossutil -e <OSS_Endpoint> -i <your_AccessKeyId> -k <your_AccessKeySecret> cp <backup_file_name> oss://<bucket_name>/

Importer la sauvegarde dans RDS

  1. Accédez à la page RDS Instances, sélectionnez une région et cliquez sur l'ID de l'instance.

  2. Dans le volet de navigation de gauche, cliquez sur Native Replication.

  3. Cliquez sur Import Full Data, configurez les paramètres et cliquez sur OK.

Catégorie Paramètre Description
Méthode de téléchargement de la sauvegarde (obligatoire) MySQL version Affichée automatiquement sous la forme 5.7 ou 8.0. Aucune configuration nécessaire.
Import method Sélectionnez Import from OSS.
OSS bucket Sélectionnez le compartiment OSS contenant votre fichier de sauvegarde.
OSS file name Sélectionnez le fichier de sauvegarde. Si le fichier se trouve dans un sous-répertoire, saisissez le chemin complet. Formats pris en charge : .xb (xbstream), _qp.xb (QuickLZ), .xb.zst (zstd).
Configuration automatique de la réplication (facultatif) Auto replication building Activez cette option pour configurer automatiquement la réplication depuis la base de données source après l'importation. Si vous laissez cette option désactivée, configurez la réplication manuellement après l'importation.
Source IP address Adresse IP de la base de données autogérée source.
Source port Port de la base de données autogérée source.
Source account Compte sur la base de données source. Doit disposer des autorisations REPLICATION CLIENT et REPLICATION SLAVE.
Account password Mot de passe du compte source.

Méthode 2 : Streamer la sauvegarde directement vers RDS

Installer l'outil backup-helper et démarrer le flux de sauvegarde

# Install the backup-helper tool
wget -O backup-helper https://mysql-backup-helper.oss-cn-beijing.aliyuncs.com/v1.0.0-alpha/backup-helper && chmod +x backup-helper

# Start the backup stream (requires MySQL and the matching XtraBackup version to be installed)
./backup-helper --backup --mode=stream --host=<MySQL_IP> --port=<MySQL_port> --user=<MySQL_account> --password=<MySQL_password>

Importer le flux dans RDS

  1. Connectez-vous à la console ApsaraDB RDS, sélectionnez une région et cliquez sur l'ID de l'instance.

  2. Dans le volet de navigation de gauche, cliquez sur Native Replication.

  3. Cliquez sur Import Full Data, configurez les paramètres et cliquez sur OK.

Catégorie Paramètre Description
Méthode de téléchargement de la sauvegarde (obligatoire) MySQL version Affichée automatiquement sous la forme 5.7 ou 8.0. Aucune configuration nécessaire.
Import method Sélectionnez Direct Stream Backup.
Source backup IP address Adresse IP utilisée pour le flux de sauvegarde.
Source backup port Port utilisé pour le flux de sauvegarde. Par défaut : 9999.
Configuration automatique de la réplication (facultatif) Auto replication building Activez cette option pour configurer automatiquement la réplication depuis la base de données source après l'importation. Si vous laissez cette option désactivée, configurez la réplication manuellement après l'importation.
Source IP address Adresse IP de la base de données autogérée source.
Source port Port de la base de données autogérée source.
Source account Compte sur la base de données source. Doit disposer des autorisations REPLICATION CLIENT et REPLICATION SLAVE.
Account password Mot de passe du compte source.

Configurer manuellement la réplication (si nécessaire)

Si vous n'avez pas activé Auto replication building lors de l'importation, ou si la configuration automatique a échoué et ne peut pas être récupérée, configurez manuellement le lien de réplication.

  1. Créez un compte privilégié sur l'instance RDS.

  2. Sur la base de données autogérée source, créez un compte de réplication et accordez les autorisations requises :

    -- Create a replication account. For production, restrict the allowed IP address instead of using '%'.
    -- Replace 'Test123!' with a strong password.
    CREATE USER 'replica'@'%' IDENTIFIED BY 'Test123!';
    
    -- Grant replication permissions
    GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replica'@'%';
    
    -- Apply the changes
    FLUSH PRIVILEGES;
  3. Connectez-vous à l'instance RDS en utilisant le compte privilégié et exécutez les commandes suivantes : MySQL 5.7

    -- Configure the replication source
    CHANGE MASTER TO
      MASTER_HOST='<source_IP>',
      MASTER_PORT='<source_port>',
      MASTER_USER='<replication_account>',
      MASTER_PASSWORD='<replication_account_password>',
      MASTER_AUTO_POSITION=1;
    
    -- Start replication
    START SLAVE;
    
    -- Check replication status
    SHOW SLAVE STATUS;

    MySQL 8.0

    -- Configure the replication source
    CHANGE REPLICATION SOURCE TO
      SOURCE_HOST='<source_IP>',
      SOURCE_PORT='<source_port>',
      SOURCE_USER='<replication_account>',
      SOURCE_PASSWORD='<replication_account_password>',
      SOURCE_AUTO_POSITION=1;
    
    -- Start replication
    START REPLICA;
    
    -- Check replication status
    SHOW REPLICA STATUS;

Vérifier l'état de la réplication

Sur la page Native Replication de l'instance RDS, vérifiez l'état de la réplication. Lorsque l'état indique Running, le lien de réplication est actif et les données sont synchronisées.

Désactiver la réplication native

Lorsque vous êtes prêt à basculer votre application, ou si vous n'avez plus besoin de la réplication, désactivez la réplication native pour faire revenir l'instance en mode lecture/écriture.

  1. Accédez à la page RDS Instances, sélectionnez une région et cliquez sur l'ID de l'instance.

  2. Dans le volet de navigation de gauche, cliquez sur Native Replication, puis cliquez sur Disable.

  3. Cliquez sur OK.

Important

Après avoir cliqué sur OK, le lien de réplication depuis la base de données source est terminé. L'instance RDS redevient une instance ApsaraDB RDS for MySQL standard et passe du mode lecture seule au mode lecture/écriture, permettant ainsi les opérations d'écriture.

Référence API

Opération API Notes
Créer une instance avec réplication native CreateDBInstance Définissez ExternalReplication sur ON. La configuration de base de l'instance doit respecter les prérequis.
Configurer un lien de réplication native pour une instance existante ImportUserBackupFile —

Étapes suivantes