Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration de la réplication GTID basée sur une instance source externe
Vous pouvez configurer la réplication en fonction des identifiants de transaction globaux (GTIDs) depuis une instance externe de MariaDB de version 10.0.24 ou supérieure vers une instance de base de données pour MariaDB. RDS Suivez ces directives lorsque vous configurez une instance source externe et une réplique sur Amazon RDS :
Surveillez les événements de basculement de l'instance de base de données RDS pour MariaDB qui constitue votre réplica. En cas de basculement, l'instance de base de données qui est votre réplica peut alors être recréée sur un nouvel hôte avec une autre adresse réseau. Pour plus d'informations sur la surveillance des événements de basculement, consultez Utilisation des notifications d'RDSévénements Amazon.
Tenez à jour les journaux binaires sur votre instance source, jusqu'à ce que vous ayez vérifié qu'ils ont été appliqués au réplica. Cela garantit que vous pouvez restaurer votre instance source en cas de défaillance.
Activez les sauvegardes automatisées sur votre instance de base de données MariaDB sur Amazon. RDS L'activation des sauvegardes automatiques garantit que vous pouvez restaurer votre réplica sur un instant donné si vous devez resynchroniser votre instance source et votre réplica. Pour plus d'informations sur les sauvegardes et les Point-In-Time restaurations, consultezSauvegarde, restauration et exportation de données.
Note
Les autorisations requises pour démarrer la réplication sur une instance de base de données MariaDB sont limitées et ne sont pas disponibles pour votre utilisateur principal AmazonRDS. Pour cette raison, vous devez utiliser les mysql.rds_start_replication commandes Amazon RDS mysql.rds_set_external_master_gtid et pour configurer la réplication entre votre base de données active et votre base de données RDS pour MariaDB.
Pour démarrer la réplication entre une instance source externe et une instance de base de données MariaDB sur RDS Amazon, suivez la procédure suivante.
Pour démarrer la réplication
-
Passez l'instance de base de données source MariaDB en lecture seule :
mysql> FLUSH TABLES WITH READ LOCK; mysql> SET GLOBAL read_only = ON;
-
Obtenez le courant GTID de l'instance externe de MariaDB. Vous pouvez faire cela en utilisant
mysql
ou l'éditeur de requête de votre choix pour exécuterSELECT @@gtid_current_pos;
.Le GTID est formaté comme
<domain-id>-<server-id>-<sequence-id>
. Un classique GTID ressemble à quelque chose comme ça0-1234510749-1728
. Pour plus d'informations sur ces éléments GTIDs et leurs composants, consultez la section Global transaction IDdans la documentation de MariaDB. -
Copiez la base de données de l'instance externe MariaDB vers l'instance de base de données MariaDB à l'aide de
mysqldump
. Pour les bases de données très volumineuses, il se peut que vous vouliez utiliser la procédure décrite dans Importation de données vers une base de données Amazon RDS for MySQL avec réduction des temps d'arrêt.Dans Linux, macOS, ou Unix:
mysqldump \ --databases
database_name
\ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql \ --host=hostname \ --port=3306 \ -uRDS_user_name
\ -pRDS_password
Dans Windows:
mysqldump ^ --databases
database_name
^ --single-transaction ^ --compress ^ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql ^ --host=hostname ^ --port=3306 ^ -uRDS_user_name
^ -pRDS_password
Note
Veillez bien à ce qu'il n'y ait pas d'espace entre l'option
-p
et le mot de passe saisi.Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
Utilisez les options
--host
,--user (-u)
,--port
et-p
de la commandemysql
pour spécifier le nom d'hôte, le nom d'utilisateur, le port et le mot de passe pour vous connecter à votre instance de base de données MariaDB. Le nom d'hôte est le DNS nom du point de terminaison de l'instance de base de données MariaDB, par exemple.myinstance.123456789012.us-east-1.rds.amazonaws.com
Vous pouvez trouver la valeur du point de terminaison dans les détails de l'instance dans l'Amazon RDS Management Console. -
Transformez l'instance source MariaDB en instance accessible de nouveau en écriture.
mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES;
-
Dans la console RDS de gestion Amazon, ajoutez l'adresse IP du serveur qui héberge la base de données externe MariaDB au groupe de sécurité de VPC l'instance de base de données MariaDB. Pour plus d'informations sur la modification d'un groupe VPC de sécurité, consultez la section Groupes de sécurité correspondants VPC dans le guide de l'utilisateur d'Amazon Virtual Private Cloud.
L'adresse IP peut changer lorsque les conditions suivantes sont réunies :
-
Vous utilisez une adresse IP publique pour la communication entre l'instance source externe et l'instance de base de données.
-
L'instance source externe a été arrêtée et redémarrée.
Si ces conditions sont réunies, vérifiez l'adresse IP avant de l'ajouter.
Vous devrez peut-être aussi configurer votre réseau local de sorte à autoriser les connexions à partir de l'adresse IP de votre instance de base de données MariaDB, pour qu'elle puisse communiquer avec votre instance MariaDB externe. Pour obtenir l'adresse IP de l'instance de base de données MariaDB, utilisez la commande
host
.host
db_instance_endpoint
Le nom d'hôte est le DNS nom du point de terminaison de l'instance de base de données MariaDB.
-
-
A l'aide du client de votre choix, connectez-vous à l'instance MariaDB externe et créez un utilisateur MariaDB à utiliser pour la réplication. Ce compte est utilisé exclusivement pour la réplication et doit être limité à votre domaine pour améliorer la sécurité. Voici un exemple.
CREATE USER '
repl_user
'@'mydomain.com
' IDENTIFIED BY 'password
';Note
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
-
Pour l'instance MariaDB externe, attribuez les privilèges
REPLICATION CLIENT
etREPLICATION SLAVE
à votre utilisateur de réplication. Par exemple, pour accorder les privilègesREPLICATION CLIENT
etREPLICATION SLAVE
sur toutes les bases de données à l'utilisateur «repl_user
» de votre domaine, émettez la commande suivante.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '
repl_user
'@'mydomain.com
'; -
Transformez l'instance de base de données MariaDB en réplica. Connectez-vous à l'instance de base de données MariaDB en tant qu'utilisateur principal et, à l'aide de la commande mysql.rds_set_external_master_gtid, identifiez la base de données MariaDB externe en tant qu'instance source de réplication. Utilisez celui GTID que vous avez déterminé à l'étape 2. Voici un exemple.
CALL mysql.rds_set_external_master_gtid ('
mymasterserver.mydomain.com
', 3306, 'repl_user
', 'password
', 'GTID
',1
);Note
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
-
Sur l'instance de base de données MariaDB, utilisez la commande mysql.rds_start_replication pour démarrer la réplication.
CALL mysql.rds_start_replication;