mysql.rds_set_external_master_gtid - Amazon Relational Database Service

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.

mysql.rds_set_external_master_gtid

Configure la réplication GTID d'une instance MariaDB s'exécutant à l'extérieur de Amazon RDS à une instance de base de données MariaDB. Cette procédure stockée est prise en charge uniquement lorsque l'instance MariaDB externe est à la version 10.0.24 ou ultérieure. Lors de la configuration d'une réplication où une ou les deux instances ne prennent pas en charge les identificateurs de transaction globaux (GTID) MariaDB, utilisez mysql.rds_set_external_master.

L'utilisation de GTID pour la réplication fournit des fonctions de sécurité en cas d'incident non proposées par une réplication de journal binaire. Nous la recommandons donc dans les situations où les instances de réplication assurent une prise en charge.

Syntaxe

CALL mysql.rds_set_external_master_gtid( host_name , host_port , replication_user_name , replication_user_password , gtid , ssl_encryption );

Paramètres

host_name

String. Nom d'hôte ou adresse IP de l'instance MariaDB s'exécutant à l'extérieur de Amazon RDS et qui deviendra l'instance source.

host_port

Entier : Port utilisé par l'instance MariaDB s'exécutant à l'extérieur de Amazon RDS pour une configuration comme instance source. Si votre configuration réseau inclut une réplication de port SSH qui convertit le numéro de port, spécifiez le numéro de port qui est exposé par SSH.

replication_user_name

String. L'ID d'un utilisateur avec les autorisations REPLICATION SLAVE de l'instance de base de données MariaDB à configurer comme réplica en lecture.

replication_user_password

String. Mot de passe de l'ID utilisateur spécifié dans replication_user_name.

gtid

String. L'ID de transaction global sur l'instance source à partir de laquelle la réplication doit démarrer.

Vous pouvez utiliser @@gtid_current_pos pour obtenir le GTID actuel si l'instance source a été verrouillée pendant que vous configurez la réplication, afin que le journal binaire ne change pas entre les moments où vous obtenez le GTID et celui où la réplication démarre.

Sinon, si vous utilisez mysqldump version 10.0.13, ou ultérieure, pour remplir l'instance de réplica avant de démarrer la réplication, vous pouvez obtenir la position GTID dans le résultat en utilisant les options --master-data ou --dump-slave. Si vous n'utilisez pas mysqldump version 10.0.13 ou ultérieure, vous pouvez exécuter le SHOW MASTER STATUS ou les mêmes options mysqldump pour obtenir la position et le nom du fichier journal binaire, puis les convertir dans un GTID en exécutant BINLOG_GTID_POS sur l'instance MariaDB :

SELECT BINLOG_GTID_POS('<binary log file name>', <binary log file position>);

Pour plus d'informations sur l'implémentation MariaDB de GTID, accédez à ID de transaction global dans la documentation MariaDB.

ssl_encryption

Valeur indiquant si le chiffrement Secure Socket Layer (SSL) est utilisé sur la connexion de réplication. La valeur 1 spécifie d'utiliser le chiffrement SSL, et la valeur 0 de ne pas l'utiliser. La valeur par défaut est 0.

Note

L'option MASTER_SSL_VERIFY_SERVER_CERT n'est pas prise en charge. Cette option est définie sur 0, ce qui signifie que la connexion est chiffrée, mais que les certificats ne sont pas vérifiés.

Notes d'utilisation

La procédure mysql.rds_set_external_master_gtid doit être exécutée par l'utilisateur maître. Elle doit être exécutée sur l'instance de base de données MariaDB que vous configurez comme le réplica d'une instance MariaDB s'exécutant à l'extérieur de Amazon RDS. Avant d'exécuter mysql.rds_set_external_master_gtid, vous devez avoir configuré l'instance de MariaDB s'exécutant en dehors de Amazon RDS comme instance source. Pour plus d'informations, consultez Importation de données dans une instance de base de données MariaDB.

Avertissement

N'utilisez pas mysql.rds_set_external_master_gtid pour gérer la réplication entre deux instances de base de données Amazon RDS. N'utilisez la procédure que lors de la réplication avec une instance MariaDB s'exécutant à l'extérieur de RDS. Pour plus d'informations sur la gestion de la réplication entre les instances de base de données Amazon RDS, consultez Utilisation des réplicas en lecture d'instance de base de données.

Après avoir appelé mysql.rds_set_external_master_gtid pour configurer une instance de base de données Amazon RDS comme réplica en lecture, vous pouvez appeler mysql.rds_start_replication sur le réplica pour démarrer le processus de réplication. Vous pouvez appeler mysql.rds_reset_external_master pour supprimer la configuration du réplica en lecture.

Quand la procédure mysql.rds_set_external_master_gtid est appelée, Amazon RDS enregistre l'heure, l'utilisateur et une action de « set master » dans les tables mysql.rds_history et mysql.rds_replication_status.

Exemples

Lorsqu'il est exécuté sur une instance de base de données MariaDB, l'exemple suivant la configure comme le réplica d'une instance de MariaDB s'exécutant à l'extérieur de Amazon RDS.

call mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);