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, démarrage et arrêt de la réplication du journal binaire (binlog)
Vous pouvez appeler les procédures stockées suivantes lorsque vous êtes connecté à l'instance principale dans un SQL cluster Aurora My. Ces procédures contrôlent la manière dont les transactions sont répliquées depuis une base de données externe vers Aurora My SQL ou depuis Aurora My SQL vers une base de données externe.
Rubriques
- mysql.rds_disable_session_binlog (Aurora My version 2) SQL
- mysql.rds_enable_session_binlog (Aurora My version 2) SQL
- mysql.rds_import_binlog_ssl_material
- mysql.rds_next_master_log (Aurora My version 2) SQL
- mysql.rds_next_source_log (Aurora My version 3) SQL
- mysql.rds_remove_binlog_ssl_material
- mysql.rds_reset_external_master (Aurora My version 2) SQL
- mysql.rds_reset_external_source (Aurora My version 3) SQL
- mysql.rds_set_binlog_source_ssl (Aurora My version 3) SQL
- mysql.rds_set_external_master (Aurora My version 2) SQL
- mysql.rds_set_external_master_with_auto_position (Aurora My version 2) SQL
- mysql.rds_set_external_source (Aurora My version 3) SQL
- mysql.rds_set_external_source_with_auto_position (Aurora My version 3) SQL
- mysql.rds_set_master_auto_position (Aurora My version 2) SQL
- mysql.rds_set_read_only (Aurora My version 3) SQL
- mysql.rds_set_session_binlog_format (Aurora My version 2) SQL
- mysql.rds_set_source_auto_position (Aurora My version 3) SQL
- mysql.rds_skip_repl_error
- mysql.rds_start_replication
- mysql.rds_start_replication_until (Aurora My version 3) SQL
- mysql.rds_stop_replication
mysql.rds_disable_session_binlog (Aurora My version 2) SQL
Désactive la journalisation binaire pour la session en cours en définissant la variable sql_log_bin
sur OFF
.
Syntaxe
CALL mysql.rds_disable_session_binlog;
Paramètres
Aucun
Notes d’utilisation
Pour un cluster Aurora My SQL DB, vous appelez cette procédure stockée lorsque vous êtes connecté à l'instance principale.
Pour Aurora, cette procédure est prise en charge pour Aurora My SQL version 2.12 et versions ultérieures compatibles avec My SQL 5.7.
Note
Dans Aurora My SQL version 3, vous pouvez utiliser la commande suivante pour désactiver la journalisation binaire pour la session en cours si vous en avez le SESSION_VARIABLES_ADMIN
privilège :
SET SESSION sql_log_bin = OFF;
mysql.rds_enable_session_binlog (Aurora My version 2) SQL
Active la journalisation binaire pour la session en cours en définissant la variable sql_log_bin
sur ON
.
Syntaxe
CALL mysql.rds_enable_session_binlog;
Paramètres
Aucun
Notes d’utilisation
Pour un cluster Aurora My SQL DB, vous appelez cette procédure stockée lorsque vous êtes connecté à l'instance principale.
Pour Aurora, cette procédure est prise en charge pour Aurora My SQL version 2.12 et versions ultérieures compatibles avec My SQL 5.7.
Note
Dans Aurora My SQL version 3, vous pouvez utiliser la commande suivante pour activer la journalisation binaire pour la session en cours si vous en avez le SESSION_VARIABLES_ADMIN
privilège :
SET SESSION sql_log_bin = ON;
mysql.rds_import_binlog_ssl_material
Importe le certificat de l'autorité de certification, le certificat client et la clé client dans un RDS cluster Aurora My SQL DB. Les informations sont nécessaires à la SSL communication et à la réplication cryptée.
Note
Actuellement, cette procédure est prise en charge pour les SQL versions 2 d'Aurora My : 2.09.2, 2.10.0, 2.10.1 et 2.11.0 ; et pour les versions 3 : 3.01.1 et supérieures.
Syntaxe
CALL mysql.rds_import_binlog_ssl_material (
ssl_material
);
Paramètres
-
ssl_material
-
JSONcharge utile contenant le contenu des fichiers au format .pem suivants pour un client My : SQL
-
« ssl_ca » : »
Certificate authority certificate
" -
« certificat SSL » : »
Client certificate
" -
« clé_SSL » : »
Client key
"
-
Notes d’utilisation
Avant d'exécuter cette procédure, préparez-vous à la réplication chiffrée :
-
Si vous ne l'avez pas SSL activé sur l'instance externe de base de données My SQL source et que vous n'avez pas préparé de clé client ni de certificat client, SSL activez-le sur le serveur My SQL database et générez la clé client et le certificat client requis.
-
Si cette option SSL est activée sur l'instance de base de données source externe, fournissez une clé client et un certificat pour le cluster Aurora My SQL DB. Si vous ne les avez pas, générez une nouvelle clé et un nouveau certificat pour le cluster Aurora My SQL DB. Pour signer le certificat client, vous devez disposer de la clé d'autorité de certification que vous avez utilisée pour configurer SSL sur l'instance externe de base de données My SQL source.
Pour plus d'informations, consultez la section Création de SSL certificats et de clés à l'aide d'openssl
Important
Après avoir préparé la réplication chiffrée, utilisez une SSL connexion pour exécuter cette procédure. La clé du client ne doit pas être transférée au moyen d'une connexion non sécurisée.
Cette procédure importe SSL des informations d'une SQL base de données My externe vers un cluster Aurora My SQL DB. Les SSL informations se trouvent dans des fichiers au format .pem qui contiennent les SSL informations relatives au cluster Aurora My SQL DB. Lors de la réplication chiffrée, le cluster Aurora My SQL DB agit en tant que client auprès du serveur My SQL database. Les certificats et les clés du SQL client Aurora My se trouvent dans des fichiers au format .pem.
Vous pouvez copier les informations de ces fichiers dans le ssl_material
paramètre de la JSON charge utile appropriée. Pour prendre en charge la réplication chiffrée, importez ces SSL informations dans le cluster Aurora My SQL DB.
La JSON charge utile doit être au format suivant.
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
ssl_ca_pem_body_code
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----ssl_cert_pem_body_code
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----ssl_key_pem_body_code
-----END RSA PRIVATE KEY-----\n"}'
Exemples
L'exemple suivant importe SSL des informations dans une Aurora My SQL. Dans les fichiers au format .pem, le code du corps est généralement plus long que le code du corps affiché dans l'exemple.
call mysql.rds_import_binlog_ssl_material( '{"ssl_ca":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END RSA PRIVATE KEY-----\n"}');
mysql.rds_next_master_log (Aurora My version 2) SQL
Modifie la position du journal de l'instance de base de données source au début du journal binaire suivant sur l'instance de base de données source. N'utilisez cette procédure que si vous recevez une erreur 1236 d'I/O de réplication sur un réplica en lecture.
Syntaxe
CALL mysql.rds_next_master_log(
curr_master_log
);
Paramètres
-
curr_master_log
-
Index du fichier journal maître actif. Par exemple, si le fichier en cours se nomme
mysql-bin-changelog.012345
, l'index est 12345. Pour déterminer le nom du fichier journal maître actif, exécutez la commandeSHOW REPLICA STATUS
et affichez le champMaster_Log_File
.Note
Les versions précédentes de My SQL utilisaient à la
SHOW SLAVE STATUS
place deSHOW REPLICA STATUS
. Si vous utilisez une SQL version My antérieure à la version 8.0.23, utilisez.SHOW SLAVE STATUS
Notes d’utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_next_master_log
.
Avertissement
Appelez mysql.rds_next_master_log
uniquement si la réplication échoue après le basculement d'une instance de base de données multi-AZ qui est la source de la réplication, et que le champ Last_IO_Errno
de SHOW REPLICA STATUS
signale une erreur d'I/O 1236.
L'appel de mysql.rds_next_master_log
peut se traduire par une perte de données dans le réplica en lecture si les transactions de l'instance source n'ont pas été écrites dans le journal binaire sur disque avant que l'événement de basculement se produise.
Exemples
Supposons que la réplication échoue sur une RDS réplique de Aurora My SQL read. L'exécution de SHOW REPLICA STATUS\G
sur le réplica en lecture renvoie le résultat suivant :
*************************** 1. row *************************** Replica_IO_State: Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: MasterUser Source_Port: 3306 Connect_Retry: 10 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Source_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Source_SSL_Allowed: No Source_SSL_CA_File: Source_SSL_CA_Path: Source_SSL_Cert: Source_SSL_Cipher: Source_SSL_Key: Seconds_Behind_Master: NULL Source_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Source_Server_Id: 67285976
Le champ Last_IO_Errno
montre que l'instance reçoit une erreur 1236 d'I/O. Le champ Master_Log_File
montre que le nom du fichier est mysql-bin-changelog.012345
, ce qui signifie que l'index du fichier journal est 12345
. Pour résoudre l'erreur, vous pouvez appeler mysql.rds_next_master_log
avec le paramètre suivant :
CALL mysql.rds_next_master_log(12345);
Note
Les versions précédentes de My SQL utilisaient à la SHOW SLAVE STATUS
place deSHOW REPLICA STATUS
. Si vous utilisez une SQL version My antérieure à la version 8.0.23, utilisez. SHOW SLAVE STATUS
mysql.rds_next_source_log (Aurora My version 3) SQL
Modifie la position du journal de l'instance de base de données source au début du journal binaire suivant sur l'instance de base de données source. N'utilisez cette procédure que si vous recevez une erreur 1236 d'I/O de réplication sur un réplica en lecture.
Syntaxe
CALL mysql.rds_next_source_log(
curr_source_log
);
Paramètres
-
curr_source_log
-
Index du fichier journal source actuel. Par exemple, si le fichier en cours se nomme
mysql-bin-changelog.012345
, l'index est 12345. Pour déterminer le nom du fichier journal actuel, exécutez la commandeSHOW REPLICA STATUS
et affichez le champSource_Log_File
.
Notes d’utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_next_source_log
.
Avertissement
Appelez mysql.rds_next_source_log
uniquement si la réplication échoue après le basculement d'une instance de base de données multi-AZ qui est la source de la réplication, et que le champ Last_IO_Errno
de SHOW REPLICA STATUS
signale une erreur d'I/O 1236.
L'appel de mysql.rds_next_source_log
peut se traduire par une perte de données dans le réplica en lecture si les transactions de l'instance source n'ont pas été écrites dans le journal binaire sur disque avant que l'événement de basculement se produise.
Exemples
Supposons que la réplication échoue sur une réplique Aurora My SQL read. L'exécution de SHOW REPLICA STATUS\G
sur le réplica en lecture renvoie le résultat suivant :
*************************** 1. row *************************** Replica_IO_State: Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: MasterUser Source_Port: 3306 Connect_Retry: 10 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Source_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Source_SSL_Allowed: No Source_SSL_CA_File: Source_SSL_CA_Path: Source_SSL_Cert: Source_SSL_Cipher: Source_SSL_Key: Seconds_Behind_Source: NULL Source_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 'Client requested source to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Source_Server_Id: 67285976
Le champ Last_IO_Errno
montre que l'instance reçoit une erreur 1236 d'I/O. Le champ Source_Log_File
montre que le nom du fichier est mysql-bin-changelog.012345
, ce qui signifie que l'index du fichier journal est 12345
. Pour résoudre l'erreur, vous pouvez appeler mysql.rds_next_source_log
avec le paramètre suivant :
CALL mysql.rds_next_source_log(12345);
mysql.rds_remove_binlog_ssl_material
Supprime le certificat de l'autorité de certification, le certificat client et la clé client pour SSL la communication et la réplication cryptée. Ces informations sont importées à l'aide de mysql.rds_import_binlog_ssl_material.
Syntaxe
CALL mysql.rds_remove_binlog_ssl_material;
mysql.rds_reset_external_master (Aurora My version 2) SQL
Reconfigure une RDS instance My My SQL DB afin qu'elle ne soit plus une réplique en lecture d'une instance de My SQL exécutée en dehors d'Amazon. RDS
Important
Pour exécuter cette procédure, autocommit
doit être activé. Pour l'activer, définissez le paramètre autocommit
sur 1
. Pour de plus amples informations sur la modification des paramètres d'instance, veuillez consulter Modification des paramètres d'un groupe de paramètres de base de données dans Amazon Aurora.
Syntaxe
CALL mysql.rds_reset_external_master;
Notes d'utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_reset_external_master
. Cette procédure doit être exécutée sur l'instance My SQL DB pour être supprimée en tant que réplique en lecture d'une SQL instance My exécutée en externe à AmazonRDS.
Note
Nous proposons ces procédures stockées principalement pour permettre la réplication avec My SQL instances exécutées en dehors d'AmazonRDS. Nous vous recommandons d'utiliser des répliques Aurora pour gérer la réplication au sein d'un cluster Aurora My SQL DB lorsque cela est possible. Pour plus d'informations sur la gestion de la réplication dans les clusters Aurora My SQL DB, consultezUtilisation de réplicas Aurora.
Pour plus d'informations sur l'utilisation de la réplication pour importer des données à partir d'une instance de My SQL exécutée en dehors d'Aurora MySQL, consultezRéplication entre Aurora et My SQL ou entre Aurora et un autre cluster de base de données Aurora (réplication de journaux binaires).
mysql.rds_reset_external_source (Aurora My version 3) SQL
Reconfigure une RDS instance My My SQL DB afin qu'elle ne soit plus une réplique en lecture d'une instance de My SQL exécutée en dehors d'Amazon. RDS
Important
Pour exécuter cette procédure, autocommit
doit être activé. Pour l'activer, définissez le paramètre autocommit
sur 1
. Pour de plus amples informations sur la modification des paramètres d'instance, veuillez consulter Modification des paramètres d'un groupe de paramètres de base de données dans Amazon Aurora.
Syntaxe
CALL mysql.rds_reset_external_source;
Notes d'utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_reset_external_source
. Cette procédure doit être exécutée sur l'instance My SQL DB pour être supprimée en tant que réplique en lecture d'une SQL instance My exécutée en externe à AmazonRDS.
Note
Nous proposons ces procédures stockées principalement pour permettre la réplication avec My SQL instances exécutées en dehors d'AmazonRDS. Nous vous recommandons d'utiliser des répliques Aurora pour gérer la réplication au sein d'un cluster Aurora My SQL DB lorsque cela est possible. Pour plus d'informations sur la gestion de la réplication dans les clusters Aurora My SQL DB, consultezUtilisation de réplicas Aurora.
mysql.rds_set_binlog_source_ssl (Aurora My version 3) SQL
Active SOURCE_SSL
le chiffrement pour la réplication des journaux binaires. Pour plus d'informations, consultez CHANGEREPLICATIONSOURCEl'instruction TO
Syntaxe
CALL mysql.rds_set_binlog_source_ssl(
mode
);
Paramètres
mode
-
Une valeur qui indique si
SOURCE_SSL
le chiffrement est activé :-
0
—SOURCE_SSL
le chiffrement est désactivé. L’argument par défaut est0
. -
1
—SOURCE_SSL
le chiffrement est activé. Vous pouvez configurer le chiffrement à l'aide de SSL ouTLS.
-
Notes d’utilisation
Cette procédure est prise en charge pour les SQL versions 3.06 et supérieures d'Aurora My.
mysql.rds_set_external_master (Aurora My version 2) SQL
Configure une RDS instance Aurora My SQL DB comme une réplique en lecture d'une instance de My SQL exécutée en dehors d'AmazonRDS.
La procédure mysql.rds_set_external_master
est obsolète et sera supprimée dans une version future. Utilisez mysql.rds_set_external_source
à la place.
Important
Pour exécuter cette procédure, autocommit
doit être activé. Pour l'activer, définissez le paramètre autocommit
sur 1
. Pour de plus amples informations sur la modification des paramètres d'instance, veuillez consulter Modification des paramètres d'un groupe de paramètres de base de données dans Amazon Aurora.
Syntaxe
CALL mysql.rds_set_external_master (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
);
Paramètres
-
host_name
-
Le nom d'hôte ou l'adresse IP de l'SQLinstance My exécutée en dehors d'Amazon RDS pour devenir l'instance de base de données source.
-
host_port
-
Port utilisé par l'SQLinstance My exécutée en externe à Amazon RDS pour être configurée en tant qu'instance de base de données source. Si votre configuration réseau inclut une réplication de port Secure Shell (SSH) qui convertit le numéro de port, spécifiez le numéro de port exposé parSSH.
-
replication_user_name
-
L'identifiant
REPLICATION CLIENT
et lesREPLICATION SLAVE
autorisations d'un utilisateur doté de l'SQLinstance My exécutée en dehors d'AmazonRDS. Nous vous recommandons de fournir un compte qui soit utilisé uniquement pour la réplication avec l'instance externe. -
replication_user_password
-
Mot de passe de l'ID utilisateur spécifié dans
replication_user_name
. -
mysql_binary_log_file_name
-
Nom du journal binaire sur l'instance de base de données source qui contient les informations de réplication.
-
mysql_binary_log_file_location
-
Emplacement dans le journal binaire
mysql_binary_log_file_name
à partir duquel la réplication commence à lire les informations de réplication.Vous pouvez déterminer le nom et l'emplacement du fichier journal binaire en exécutant
SHOW MASTER STATUS
sur l'instance de base de données source. -
ssl_encryption
-
Valeur qui indique si le chiffrement Secure Socket Layer (SSL) est utilisé sur la connexion de réplication. 1 indique d'utiliser le SSL chiffrement, 0 indique de ne pas utiliser de chiffrement. 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
L'utilisateur principal doit exécuter la procédure mysql.rds_set_external_master
. Cette procédure doit être exécutée sur l'instance My SQL DB pour être configurée en tant que réplique en lecture d'une SQL instance My exécutée en externe à AmazonRDS.
Avant d'exécutermysql.rds_set_external_master
, vous devez configurer l'instance de My SQL running external RDS to Amazon comme instance de base de données source. Pour vous connecter à l'SQLinstance My exécutée en externe à AmazonRDS, vous devez spécifier replication_user_name
des replication_user_password
valeurs indiquant un utilisateur de réplication REPLICATION SLAVE
disposant REPLICATION CLIENT
d'autorisations sur l'instance externe de MySQL.
Pour configurer une instance externe de My en SQL tant qu'instance de base de données source
À l'aide du SQL client My de votre choix, connectez-vous à l'instance externe de My SQL et créez un compte utilisateur à utiliser pour la réplication. Voici un exemple.
Mon SQL 5,7
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Mon SQL 8.0
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '
password
';Note
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
-
Sur l'instance externe de MySQL, accordez
REPLICATION CLIENT
desREPLICATION SLAVE
privilèges à votre utilisateur de réplication. L'exemple suivant accorde les privilègesREPLICATION CLIENT
etREPLICATION SLAVE
sur toutes les bases de données pour l'utilisateur « repl_user » de votre domaine.Mon SQL 5,7
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Mon SQL 8.0
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
Pour utiliser la réplication chiffrée, configurez l'instance de base de données source pour qu'elle utilise SSL des connexions. De même, importez le certificat de l'autorité de certification, le certificat du client et la clé du client dans l'instance de base de données ou le cluster de bases de données à l'aide de la procédure mysql.rds_import_binlog_ssl_material.
Note
Nous proposons ces procédures stockées principalement pour permettre la réplication avec My SQL instances exécutées en dehors d'AmazonRDS. Nous vous recommandons d'utiliser des répliques Aurora pour gérer la réplication au sein d'un cluster Aurora My SQL DB lorsque cela est possible. Pour plus d'informations sur la gestion de la réplication dans les clusters Aurora My SQL DB, consultezUtilisation de réplicas Aurora.
Après avoir appelé mysql.rds_set_external_master
pour configurer une instance Amazon RDS DB en tant que réplique en lecture, vous pouvez faire appel mysql.rds_start_replication à la réplique en lecture pour démarrer le processus de réplication. Vous pouvez appeler mysql.rds_reset_external_master (Aurora My version 2) SQL pour supprimer la configuration du réplica en lecture.
Lorsqu'il mysql.rds_set_external_master
est appelé, Amazon RDS enregistre l'heure, l'utilisateur et une action set master
dans les mysql.rds_replication_status
tables mysql.rds_history
et.
Exemples
Lorsqu'elle est exécutée sur une instance My SQL DB, l'exemple suivant configure l'instance DB comme une réplique en lecture d'une instance de My SQL exécutée en externe à AmazonRDS.
call mysql.rds_set_external_master( 'Externaldb.some.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0);
mysql.rds_set_external_master_with_auto_position (Aurora My version 2) SQL
Configure une instance SQL principale Aurora My pour accepter la réplication entrante depuis une SQL instance My externe. Cette procédure configure également la réplication en fonction des identifiants de transaction globaux ()GTIDs.
Cette procédure ne configure pas la réplication différée, car Aurora My SQL ne prend pas en charge la réplication différée.
Syntaxe
CALL mysql.rds_set_external_master_with_auto_position (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
);
Paramètres
host_name
-
Le nom d'hôte ou l'adresse IP de l'SQLinstance My exécutée en dehors d'Aurora pour devenir la source de réplication.
host_port
-
Port utilisé par l'SQLinstance My exécutée en dehors d'Aurora à configurer comme source de réplication. Si votre configuration réseau inclut une réplication de port Secure Shell (SSH) qui convertit le numéro de port, spécifiez le numéro de port exposé parSSH.
replication_user_name
-
L'ID
REPLICATION CLIENT
et lesREPLICATION SLAVE
autorisations d'un utilisateur doté de l'SQLinstance My exécutée en dehors d'Aurora. Nous vous recommandons de fournir un compte qui soit utilisé uniquement pour la réplication avec l'instance externe. replication_user_password
-
Mot de passe de l'ID utilisateur spécifié dans
replication_user_name
. ssl_encryption
-
Cette option n'est pas actuellement implémentée. La valeur par défaut est 0.
Notes d’utilisation
Pour un cluster Aurora My SQL DB, vous appelez cette procédure stockée lorsque vous êtes connecté à l'instance principale.
L'utilisateur principal doit exécuter la procédure mysql.rds_set_external_master_with_auto_position
. L'utilisateur principal exécute cette procédure sur l'instance principale d'un cluster Aurora My SQL DB qui fait office de cible de réplication. Il peut s'agir de la cible de réplication d'une instance My SQL DB externe ou d'un cluster Aurora My SQL DB.
Cette procédure est prise en charge pour la SQL version 2 d'Aurora My. Pour la SQL version 3 d'Aurora My, utilisez mysql.rds_set_external_source_with_auto_position (Aurora My version 3) SQL plutôt la procédure suivante.
Avant de l'exécutermysql.rds_set_external_master_with_auto_position
, configurez l'instance externe My SQL DB comme source de réplication. Pour vous connecter à l'SQLinstance My externe, spécifiez les valeurs pour replication_user_name
etreplication_user_password
. Ces valeurs doivent indiquer un utilisateur de réplication REPLICATION SLAVE
disposant REPLICATION CLIENT
d'autorisations sur l'SQLinstance externe My Instance.
Pour configurer une SQL instance My externe en tant que source de réplication
-
À l'aide du SQL client My de votre choix, connectez-vous à l'SQLinstance My externe et créez un compte utilisateur à utiliser pour la réplication. Voici un exemple.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
-
Sur l'SQLinstance externe My, accordez
REPLICATION CLIENT
etREPLICATION SLAVE
privilèges à votre utilisateur de réplication. L'exemple suivant accorde les privilègesREPLICATION CLIENT
etREPLICATION SLAVE
sur toutes les bases de données pour l'utilisateur'repl_user'
de votre domaine.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
Lorsque vous appelezmysql.rds_set_external_master_with_auto_position
, Amazon RDS enregistre certaines informations. Il s'agit de l'heure, de l'utilisateur et d'une action de "set master"
dans les tables mysql.rds_history
et mysql.rds_replication_status
.
Pour ignorer une transaction GTID basée sur une base spécifique dont on sait qu'elle pose problème, vous pouvez utiliser la procédure mysql.rds_skip_transaction_with_gtid (Aurora My versions 2 et 3) SQL stockée. Pour plus d'informations sur l'utilisation de la réplication GTID basée, consultezUtilisation de GTID la réplication basée.
Exemples
Lorsqu'il est exécuté sur une instance principale d'Aurora, l'exemple suivant configure le cluster Aurora pour qu'il agisse comme une réplique en lecture d'une instance de My SQL exécutée en dehors d'Aurora.
call mysql.rds_set_external_master_with_auto_position( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd');
mysql.rds_set_external_source (Aurora My version 3) SQL
Configure une instance de base de SQL données Aurora My pour qu'elle soit une réplique en lecture d'une instance de My SQL exécutée en dehors d'AmazonRDS.
Important
Pour exécuter cette procédure, autocommit
doit être activé. Pour l'activer, définissez le paramètre autocommit
sur 1
. Pour de plus amples informations sur la modification des paramètres d'instance, veuillez consulter Modification des paramètres d'un groupe de paramètres de base de données dans Amazon Aurora.
Syntaxe
CALL mysql.rds_set_external_source (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
);
Paramètres
-
host_name
-
Le nom d'hôte ou l'adresse IP de l'SQLinstance My exécutée en dehors d'Amazon RDS pour devenir l'instance de base de données source.
-
host_port
-
Port utilisé par l'SQLinstance My exécutée en externe à Amazon RDS pour être configurée en tant qu'instance de base de données source. Si votre configuration réseau inclut une réplication de port Secure Shell (SSH) qui convertit le numéro de port, spécifiez le numéro de port exposé parSSH.
-
replication_user_name
-
L'identifiant
REPLICATION CLIENT
et lesREPLICATION SLAVE
autorisations d'un utilisateur doté de l'SQLinstance My exécutée en dehors d'AmazonRDS. Nous vous recommandons de fournir un compte qui soit utilisé uniquement pour la réplication avec l'instance externe. -
replication_user_password
-
Mot de passe de l'ID utilisateur spécifié dans
replication_user_name
. -
mysql_binary_log_file_name
-
Nom du journal binaire sur l'instance de base de données source qui contient les informations de réplication.
-
mysql_binary_log_file_location
-
Emplacement dans le journal binaire
mysql_binary_log_file_name
à partir duquel la réplication commence à lire les informations de réplication.Vous pouvez déterminer le nom et l'emplacement du fichier journal binaire en exécutant
SHOW MASTER STATUS
sur l'instance de base de données source. -
ssl_encryption
-
Valeur qui indique si le chiffrement Secure Socket Layer (SSL) est utilisé sur la connexion de réplication. 1 indique d'utiliser le SSL chiffrement, 0 indique de ne pas utiliser de chiffrement. La valeur par défaut est 0.
Note
Vous devez avoir importé un SSL certificat personnalisé mysql.rds_import_binlog_ssl_material pour activer cette option. Si vous n'avez pas importé de SSL certificat personnalisé, définissez ce paramètre sur 0 et utilisez-le mysql.rds_set_binlog_source_ssl (Aurora My version 3) SQL SSL pour activer la réplication des journaux binaires.
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
L'utilisateur principal doit exécuter la procédure mysql.rds_set_external_source
. Cette procédure doit être exécutée sur l'instance Aurora My SQL DB pour être configurée en tant que réplique en lecture d'une SQL instance My exécutée en externe à AmazonRDS.
Avant d'exécutermysql.rds_set_external_source
, vous devez configurer l'instance de My SQL running external RDS to Amazon comme instance de base de données source. Pour vous connecter à l'SQLinstance My exécutée en externe à AmazonRDS, vous devez spécifier replication_user_name
des replication_user_password
valeurs indiquant un utilisateur de réplication REPLICATION SLAVE
disposant REPLICATION CLIENT
d'autorisations sur l'instance externe de MySQL.
Pour configurer une instance externe de My en SQL tant qu'instance de base de données source
-
À l'aide du SQL client My de votre choix, connectez-vous à l'instance externe de My SQL et créez un compte utilisateur à utiliser pour la réplication. Voici un exemple.
Mon SQL 5,7
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Mon SQL 8.0
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '
password
';Note
Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.
-
Sur l'instance externe de MySQL, accordez
REPLICATION CLIENT
desREPLICATION SLAVE
privilèges à votre utilisateur de réplication. L'exemple suivant accorde les privilègesREPLICATION CLIENT
etREPLICATION SLAVE
sur toutes les bases de données pour l'utilisateur « repl_user » de votre domaine.Mon SQL 5,7
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Mon SQL 8.0
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
Pour utiliser la réplication chiffrée, configurez l'instance de base de données source pour qu'elle utilise SSL des connexions. De plus, importez le certificat de l'autorité de certification, le certificat du client et la clé du client dans l'instance de base de données ou le cluster de bases de données à l'aide de la procédure mysql.rds_import_binlog_ssl_material.
Note
Nous proposons ces procédures stockées principalement pour permettre la réplication avec My SQL instances exécutées en dehors d'AmazonRDS. Nous vous recommandons d'utiliser des répliques Aurora pour gérer la réplication au sein d'un cluster Aurora My SQL DB lorsque cela est possible. Pour plus d'informations sur la gestion de la réplication dans les clusters Aurora My SQL DB, consultezUtilisation de réplicas Aurora.
Après avoir appelé mysql.rds_set_external_source
pour configurer une instance Aurora My SQL DB en tant que réplique en lecture, vous pouvez appeler mysql.rds_start_replication sur la réplique en lecture pour démarrer le processus de réplication. Vous pouvez appeler mysql.rds_reset_external_source pour supprimer la configuration du réplica en lecture.
Lorsqu'il mysql.rds_set_external_source
est appelé, Amazon RDS enregistre l'heure, l'utilisateur et une action set
master
dans les mysql.rds_replication_status
tables mysql.rds_history
et.
Exemples
Lorsqu'elle est exécutée sur une instance de base de SQL données Aurora My, l'exemple suivant configure l'instance de base de données pour qu'elle soit une réplique en lecture d'une instance de My SQL exécutée en externe à AmazonRDS.
call mysql.rds_set_external_source( 'Externaldb.some.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0);
mysql.rds_set_external_source_with_auto_position (Aurora My version 3) SQL
Configure une instance SQL principale Aurora My pour accepter la réplication entrante depuis une SQL instance My externe. Cette procédure configure également la réplication en fonction des identifiants de transaction globaux ()GTIDs.
Syntaxe
CALL mysql.rds_set_external_source_with_auto_position (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
);
Paramètres
host_name
-
Le nom d'hôte ou l'adresse IP de l'SQLinstance My exécutée en dehors d'Aurora pour devenir la source de réplication.
host_port
-
Port utilisé par l'SQLinstance My exécutée en dehors d'Aurora à configurer comme source de réplication. Si votre configuration réseau inclut une réplication de port Secure Shell (SSH) qui convertit le numéro de port, spécifiez le numéro de port exposé parSSH.
replication_user_name
-
L'ID
REPLICATION CLIENT
et lesREPLICATION SLAVE
autorisations d'un utilisateur doté de l'SQLinstance My exécutée en dehors d'Aurora. Nous vous recommandons de fournir un compte qui soit utilisé uniquement pour la réplication avec l'instance externe. replication_user_password
-
Mot de passe de l'ID utilisateur spécifié dans
replication_user_name
. ssl_encryption
-
Cette option n'est pas actuellement implémentée. La valeur par défaut est 0.
Note
mysql.rds_set_binlog_source_ssl (Aurora My version 3) SQLÀ utiliser SSL pour activer la réplication des journaux binaires.
Notes d’utilisation
Pour un cluster Aurora My SQL DB, vous appelez cette procédure stockée lorsque vous êtes connecté à l'instance principale.
L'utilisateur administratif doit exécuter la procédure mysql.rds_set_external_source_with_auto_position
. L'utilisateur administratif exécute cette procédure sur l'instance principale d'un cluster Aurora My SQL DB qui fait office de cible de réplication. Il peut s'agir de la cible de réplication d'une instance My SQL DB externe ou d'un cluster Aurora My SQL DB.
Cette procédure est prise en charge pour Aurora My SQL version 3. Cette procédure ne configure pas la réplication différée, car Aurora My SQL ne prend pas en charge la réplication différée.
Avant de l'exécutermysql.rds_set_external_source_with_auto_position
, configurez l'instance externe My SQL DB comme source de réplication. Pour vous connecter à l'SQLinstance My externe, spécifiez les valeurs pour replication_user_name
etreplication_user_password
. Ces valeurs doivent indiquer un utilisateur de réplication REPLICATION SLAVE
disposant REPLICATION CLIENT
d'autorisations sur l'SQLinstance externe My Instance.
Pour configurer une SQL instance My externe en tant que source de réplication
-
À l'aide du SQL client My de votre choix, connectez-vous à l'SQLinstance My externe et créez un compte utilisateur à utiliser pour la réplication. Voici un exemple.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
-
Sur l'SQLinstance externe My, accordez
REPLICATION CLIENT
etREPLICATION SLAVE
privilèges à votre utilisateur de réplication. L'exemple suivant accorde les privilègesREPLICATION CLIENT
etREPLICATION SLAVE
sur toutes les bases de données pour l'utilisateur'repl_user'
de votre domaine.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
Lorsque vous appelezmysql.rds_set_external_source_with_auto_position
, Amazon RDS enregistre certaines informations. Il s'agit de l'heure, de l'utilisateur et d'une action de "set master"
dans les tables mysql.rds_history
et mysql.rds_replication_status
.
Pour ignorer une transaction GTID basée sur une base spécifique dont on sait qu'elle pose problème, vous pouvez utiliser la procédure mysql.rds_skip_transaction_with_gtid (Aurora My versions 2 et 3) SQL stockée. Pour plus d'informations sur l'utilisation de la réplication GTID basée, consultezUtilisation de GTID la réplication basée.
Exemples
Lorsqu'il est exécuté sur une instance principale d'Aurora, l'exemple suivant configure le cluster Aurora pour qu'il agisse comme une réplique en lecture d'une instance de My SQL exécutée en dehors d'Aurora.
call mysql.rds_set_external_source_with_auto_position( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd');
mysql.rds_set_master_auto_position (Aurora My version 2) SQL
Définit le mode de réplication en fonction des positions du fichier journal binaire ou des identificateurs de transaction globaux (GTIDs).
Syntaxe
CALL mysql.rds_set_master_auto_position (
auto_position_mode
);
Paramètres
-
auto_position_mode
-
Une valeur qui indique s'il faut utiliser la réplication de position du fichier journal ou la réplication GTID basée sur la réplication :
-
0
– Utiliser la méthode de réplication basée sur la position du fichier journal binaire. La valeur par défaut est0
. -
1
— Utilisez la méthode GTID de réplication basée.
-
Notes d’utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_set_master_auto_position
.
Cette procédure est prise en charge pour la SQL version 2 d'Aurora My.
mysql.rds_set_read_only (Aurora My version 3) SQL
Active ou désactive le read_only
mode globalement pour l'instance de base de données.
Syntaxe
CALL mysql.rds_set_read_only(
mode
);
Paramètres
mode
-
Une valeur qui indique si le
read_only
mode est activé ou désactivé globalement pour l'instance de base de données :-
0
—OFF
. La valeur par défaut est0
. -
1
–ON
-
Notes d’utilisation
La procédure mysql.rds_set_read_only
stockée modifie uniquement le read_only
paramètre. Le innodb_read_only
paramètre ne peut pas être modifié sur les instances de base de données du lecteur.
Le changement de read_only
paramètre ne persiste pas au redémarrage. Pour apporter des modifications permanentesread_only
, vous devez utiliser le paramètre de read_only
cluster de base de données.
Cette procédure est prise en charge pour les SQL versions 3.06 et supérieures d'Aurora My.
mysql.rds_set_session_binlog_format (Aurora My version 2) SQL
Définit le format de journal binaire pour la session en cours.
Syntaxe
CALL mysql.rds_set_session_binlog_format(
format
);
Paramètres
format
-
Valeur qui indique le format de journal binaire pour la session en cours :
-
STATEMENT
— La source de réplication écrit les événements dans le journal binaire en fonction d'SQLinstructions. -
ROW
: la source de réplication écrit les événements dans le journal binaire qui indiquent les modifications apportées aux lignes individuelles des tables. -
MIXED
— La journalisation est généralement basée sur SQL des instructions, mais passe aux lignes sous certaines conditions. Pour plus d'informations, consultez la section Format de journalisation binaire mixtedans la section Ma SQL documentation.
-
Notes d’utilisation
Pour un cluster Aurora My SQL DB, vous appelez cette procédure stockée lorsque vous êtes connecté à l'instance principale.
Pour utiliser cette procédure stockée, la journalisation binaire doit être configurée pour la session en cours.
Pour Aurora, cette procédure est prise en charge pour Aurora My SQL version 2.12 et versions ultérieures compatibles avec My SQL 5.7.
mysql.rds_set_source_auto_position (Aurora My version 3) SQL
Définit le mode de réplication en fonction des positions du fichier journal binaire ou des identificateurs de transaction globaux (GTIDs).
Syntaxe
CALL mysql.rds_set_source_auto_position (
auto_position_mode
);
Paramètres
auto_position_mode
-
Une valeur qui indique s'il faut utiliser la réplication de position du fichier journal ou la réplication GTID basée sur la réplication :
-
0
– Utiliser la méthode de réplication basée sur la position du fichier journal binaire. La valeur par défaut est0
. -
1
— Utilisez la méthode GTID de réplication basée.
-
Notes d’utilisation
Pour un cluster Aurora My SQL DB, vous appelez cette procédure stockée lorsque vous êtes connecté à l'instance principale.
L'utilisateur administratif doit exécuter la procédure mysql.rds_set_source_auto_position
.
mysql.rds_skip_repl_error
Ignore et supprime une erreur de réplication sur une réplique de lecture My SQL DB.
Syntaxe
CALL mysql.rds_skip_repl_error;
Notes d'utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_skip_repl_error
sur un réplica en lecture. Pour plus d'informations sur cette procédure, consultez Ignorer une erreur de réplication.
Pour déterminer s'il existe des erreurs, exécutez la SQL SHOW REPLICA STATUS\G
commande My. Si une erreur de réplication n'est pas critique, vous pouvez exécuter mysql.rds_skip_repl_error
pour ignorer l'erreur. S'il y a plusieurs erreurs, mysql.rds_skip_repl_error
supprime la première erreur, puis avertit qu'il y a d'autres erreurs. Vous pouvez alors utiliser SHOW REPLICA STATUS\G
pour déterminer l'action appropriée pour l'erreur suivante. Pour plus d'informations sur les valeurs renvoyées, voir la SHOWREPLICASTATUSdéclaration
Note
Les versions précédentes de My SQL utilisaient à la SHOW SLAVE STATUS
place deSHOW REPLICA STATUS
. Si vous utilisez une SQL version My antérieure à la version 8.0.23, utilisez. SHOW SLAVE STATUS
Pour plus d'informations sur la résolution des erreurs de réplication avec Aurora MySQL, consultezDiagnostic et résolution d'un échec de réplication en SQL .
Erreur d'arrêt de réplication
Lorsque vous appelez la procédure mysql.rds_skip_repl_error
, un message d'erreur peut s'afficher pour indiquer que le réplica a rencontré une erreur ou est désactivé.
Ce message d'erreur s'affiche si vous exécutez la procédure sur l'instance principale plutôt que sur le réplica en lecture. Vous devez exécuter cette procédure sur le réplica en lecture pour que la procédure fonctionne.
Ce message d'erreur peut également s'afficher si vous exécutez la procédure sur le réplica en lecture, mais que la réplication ne peut pas être redémarrée correctement.
Si vous avez besoin d'ignorer un grand nombre d'erreurs, le retard de réplication peut augmenter et dépasser la période de rétention par défaut pour les fichiers journaux binaires (binlog). Dans ce cas, vous pouvez rencontrer une erreur irrécupérable due à des fichiers journaux binaires purgés avant d'avoir été réutilisés sur le réplica en lecture. Cette purge entraîne l'arrêt de la réplication et vous ne pouvez plus appeler la commande mysql.rds_skip_repl_error
pour ignorer les erreurs de réplication.
Vous pouvez atténuer ce problème en augmentant le nombre d'heures pendant lequel les fichiers journaux binaires sont conservés sur votre instance de base de données source. Une fois que vous avez augmenté le temps de rétention de journaux binaires, vous pouvez redémarrer la réplication et appeler la commande mysql.rds_skip_repl_error
en fonction des besoins.
Pour définir la période de rétention des journaux binaires, utilisez la procédure mysql.rds_set_configuration et spécifiez un paramètre de configuration 'binlog
retention hours'
, ainsi que le nombre d'heures pendant lequel conserver les fichiers journaux binaires sur le cluster de bases de données. L'exemple suivant définit la période de rétention des fichiers journaux binaires à 48 heures.
CALL mysql.rds_set_configuration('binlog retention hours', 48);
mysql.rds_start_replication
Lance la réplication à partir d'un cluster Aurora My SQL DB.
Note
Vous pouvez utiliser la procédure mysql.rds_start_replication_until_gtid (Aurora My version 3) SQL stockée mysql.rds_start_replication_until (Aurora My version 3) SQL ou Aurora My SQL DB et arrêter la réplication à l'emplacement du fichier journal binaire spécifié.
Syntaxe
CALL mysql.rds_start_replication;
Notes d'utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_start_replication
.
Pour importer des données depuis une instance de My SQL external vers AmazonRDS, faites appel mysql.rds_start_replication
à la réplique en lecture pour démarrer le processus de réplication après l'appel mysql.rds_set_external_master
ou mysql.rds_set_external_source
pour créer la configuration de réplication. Pour de plus amples informations, veuillez consulter Réplication entre Aurora et My SQL ou entre Aurora et un autre cluster de base de données Aurora (réplication de journaux binaires).
Pour exporter des données vers une instance de My SQL external to AmazonRDS, appelez mysql.rds_start_replication
et mysql.rds_stop_replication
activez la réplique en lecture pour contrôler certaines actions de réplication, telles que la purge des journaux binaires. Pour de plus amples informations, veuillez consulter Réplication entre Aurora et My SQL ou entre Aurora et un autre cluster de base de données Aurora (réplication de journaux binaires).
Vous pouvez aussi appeler mysql.rds_start_replication
sur le réplica en lecture pour redémarrer un processus de réplication que vous avez précédemment arrêté en appelant mysql.rds_stop_replication
. Pour de plus amples informations, veuillez consulter Erreur d'arrêt de réplication.
mysql.rds_start_replication_until (Aurora My version 3) SQL
Lance la réplication à partir My SQL DB et arrête la réplication à l'emplacement du fichier journal binaire spécifié.
Syntaxe
CALL mysql.rds_start_replication_until (
replication_log_file
,replication_stop_point
);
Paramètres
-
replication_log_file
-
Nom du journal binaire sur l'instance de base de données source qui contient les informations de réplication.
-
replication_stop_point
-
Position dans le journal binaire
replication_log_file
à laquelle la réplication s'arrêtera.
Notes d'utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_start_replication_until
.
Cette procédure est prise en charge pour les SQL versions 3.04 et supérieures d'Aurora My.
La procédure mysql.rds_start_replication_until
stockée n'est pas prise en charge pour la réplication gérée, qui inclut les éléments suivants :
Le nom de fichier spécifié pour le paramètre replication_log_file
doit correspondre au nom du fichier binlog de l'instance de base de données source.
Lorsque le paramètre replication_stop_point
spécifie une position d'arrêt survenant dans le passé, la réplication est arrêtée immédiatement.
Exemples
L'exemple suivant lance la réplication et réplique les modifications jusqu'à ce qu'il atteigne la position 120
dans le fichier journal binaire mysql-bin-changelog.000777
.
call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);
mysql.rds_stop_replication
Arrête la réplication à partir d'une instance My SQL DB.
Syntaxe
CALL mysql.rds_stop_replication;
Notes d'utilisation
L'utilisateur principal doit exécuter la procédure mysql.rds_stop_replication
.
Si vous configurez la réplication pour importer des données depuis une instance de My SQL exécutée en dehors d'AmazonRDS, vous devez faire appel mysql.rds_stop_replication
à la réplique en lecture pour arrêter le processus de réplication une fois l'importation terminée. Pour de plus amples informations, veuillez consulter Réplication entre Aurora et My SQL ou entre Aurora et un autre cluster de base de données Aurora (réplication de journaux binaires).
Si vous configurez la réplication pour exporter des données vers une instance de My SQL external to AmazonRDS, vous devez appeler mysql.rds_start_replication
et mysql.rds_stop_replication
activer la réplique en lecture pour contrôler certaines actions de réplication, telles que la purge des journaux binaires. Pour de plus amples informations, veuillez consulter Réplication entre Aurora et My SQL ou entre Aurora et un autre cluster de base de données Aurora (réplication de journaux binaires).
La procédure mysql.rds_stop_replication
stockée n'est pas prise en charge pour la réplication gérée, qui inclut les éléments suivants :