Configurazione della replica dei log binari per Aurora My SQL - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione della replica dei log binari per Aurora My SQL

La configurazione di My SQL replication con Aurora SQL My prevede i seguenti passaggi, che vengono discussi in dettaglio:

1. Abilitare l'accesso binario nella fonte di replica

Seguono le istruzioni su come abilitare l'accesso binario nella fonte di replica per il motore del database.

2. Mantieni i log binari nel master di replica fino a quando non sono più necessari

Quando usi My SQL binary log replication, Amazon RDS non gestisce il processo di replica. Come risultato, devi assicurarti che i file binlog nel master di replica siano mantenuti finché le modifiche vengono applicate alla replica. Questa manutenzione aiuta a ripristinare il database di origine in caso di errore.

Utilizza le istruzioni seguenti per mantenere i registri binari per il motore di database.

3. Crea una copia o un dump della fonte di replica

Si utilizza un'istantanea, un clone o un dump della fonte di replica per caricare una copia di base dei dati sulla replica. Quindi si inizia a replicare da quel punto.

Utilizza le seguenti istruzioni per creare una copia o un dump della fonte di replica per il tuo motore di database.

4. Carica il dump nella destinazione della replica (se necessario)

Se prevedi di caricare dati da un dump di un SQL database My esterno ad AmazonRDS, potresti voler creare un'EC2istanza in cui copiare i file di dump. Quindi puoi caricare i dati nel tuo cluster DB o nell'istanza DB da quell'EC2istanza. Utilizzando questo approccio, puoi comprimere i file di dump prima di copiarli sull'EC2istanza per ridurre i costi di rete associati alla copia dei dati su Amazon. RDS Puoi anche crittografare il file o i file dump per assicurare i dati mentre vengono trasferiti nella rete.

Nota

Se crei un nuovo cluster Aurora My SQL DB come destinazione della replica, non è necessario caricare un file di dump:

Utilizza le seguenti istruzioni per caricare il dump della fonte di replica nella destinazione di replica per il motore di database.

5. Creazione di un utente di replica sull’origine di replica

Crea un ID utente sull’origine utilizzato solamente per la replica. L'esempio seguente è RDS per database My SQL o My SQL source esterni.

mysql> CREATE USER 'repl_user'@'domain_name' IDENTIFIED BY 'password';

Per i database Aurora My SQL source, il parametro del cluster skip_name_resolve DB è impostato su 1 (ON) e non può essere modificato, quindi è necessario utilizzare un indirizzo IP per l'host anziché un nome di dominio. Per ulteriori informazioni, consulta skip_name_resolve nella documentazione My. SQL

mysql> CREATE USER 'repl_user'@'IP_address' IDENTIFIED BY 'password';

L'utente richiede i privilegi REPLICATION CLIENT e REPLICATION SLAVE. Concedi questi privilegi all'utente.

Se è necessario utilizzare la replica crittografata, è necessario disporre di SSL connessioni per l'utente di replica. Ad esempio, è possibile utilizzare una delle seguenti istruzioni per richiedere SSL connessioni sull'account utente. repl_user

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'IP_address';
GRANT USAGE ON *.* TO 'repl_user'@'IP_address' REQUIRE SSL;
Nota

Se REQUIRE SSL non è incluso, la connessione di replica potrebbe ridiventare una connessione non crittografata.

6. Abilitare la replica nel target di replica

Prima di attivare la replica, si consiglia di scattare un'istantanea manuale del cluster Aurora My SQL DB o della destinazione di replica dell'RDSistanza My SQL DB. Se c'è un problema e devi ristabilire la replica con il cluster di database o il target di replica dell'istanza database, puoi ripristinare il cluster di database o l'istanza database da questa snapshot invece di dover importare di nuovo i dati nel target di replica.

Utilizza le istruzioni seguenti per attivare la replica del motore di database.

Se la replica ha esito negativo, può verificarsi un notevole aumento di I/O non intenzionale sulla replica, che può compromettere le prestazioni. Se la replica non riesce o non è più necessaria, è possibile eseguire la stored procedure mysql.rds_reset_external_master (Aurora La mia versione 2) SQL o mysql.rds_reset_external_source (Aurora My versione 3) SQL per rimuovere la configurazione della replica.

Definire una posizione per arrestare la replica su una replica di lettura

In Aurora My SQL versione 3.04 e successive, è possibile avviare la replica e quindi interromperla in una posizione specificata del file di registro binario utilizzando la stored procedure. mysql.rds_start_replication_until (Aurora My versione 3) SQL

Per avviare la replica su una replica di lettura e arrestare la replica in corrispondenza di una posizione specifica
  1. Utilizzando un SQL client My, connettiti al cluster di replica Aurora SQL My DB come utente principale.

  2. Eseguire la procedura archiviata mysql.rds_start_replication_until (Aurora My versione 3) SQL.

    L'esempio seguente avvia la replica e replica le modifiche fino a raggiungere la posizione 120 nel file di log binario mysql-bin-changelog.000777. In caso di disaster recovery, presumere che la posizione 120 si riferisca al momento immediatamente precedente l'errore.

    call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);

La replica si arresta automaticamente quando viene raggiunto il punto di arresto. Viene generato il seguente RDS evento:. Replication has been stopped since the replica reached the stop point specified by the rds_start_replication_until stored procedure

Se si utilizza la replica GTID basata, utilizzare la mysql.rds_start_replication_until_gtid (Aurora La mia versione 3) SQL stored procedure anziché la mysql.rds_start_replication_until (Aurora My versione 3) SQL stored procedure. Per ulteriori informazioni sulla replica GTID basata, vedere. Utilizzo della replica GTID basata

7. Monitora la replica

Quando si configura La mia SQL replica con un cluster Aurora SQL My DB, è necessario monitorare gli eventi di failover per il cluster Aurora SQL My DB quando è la destinazione della replica. Se accade un failover, il cluster di database che è il target di replica potrebbe essere ricreato in un nuovo host con un indirizzo di rete diverso. Per informazioni su come monitorare gli eventi di failover, consulta Utilizzo delle notifiche di RDS eventi di Amazon.

È inoltre possibile monitorare la distanza tra la destinazione della replica e l'origine della replica collegandosi alla destinazione della replica ed eseguendo il comando (SHOW SLAVE STATUSAurora My SQL versione 2) o (SHOW REPLICA STATUSAurora My versione 3). SQL Nell'output del comando, il campo Seconds Behind Master indica quanto è indietro il target di replica rispetto al master di replica.

Sincronizzazione delle password tra origine di replica e destinazione

Quando si modificano gli account utente e le password sull'origine della replica utilizzando le SQL istruzioni, tali modifiche vengono replicate automaticamente sulla destinazione di replica.

Se si utilizza il AWS Management Console, il o il AWS CLI RDS API per modificare la password principale sull'origine della replica, tali modifiche non vengono replicate automaticamente nella destinazione di replica. Se si desidera sincronizzare l'utente principale e la password principale tra il sistema di origine e quello di destinazione, è necessario apportare la stessa modifica alla destinazione di replica.