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 ritardata con My SQL
Puoi usare la replica ritardata come strategia per il disaster recovery. Con la replica ritardata puoi specificare il tempo minimo, in secondi, di ritardo della replica rispetto all'origine nella replica di lettura. In caso di emergenza, come ad esempio l'eliminazione accidentale di una tabella, completa la seguente procedura per risolvere velocemente il problema:
-
Arresta la replica sulla replica di lettura prima che la modifica che ha provocato il problema venga inviata.
Usa la procedura archiviata mysql.rds_stop_replication per arrestare la replica.
-
Avvia la replica e specifica che la replica si arresta automaticamente in corrispondenza di una posizione del file di log.
Puoi specificare una posizione prima dell'emergenza utilizzando la procedura archiviata .
-
Utilizza le istruzioni contenute in Promozione di una replica di lettura a istanza database standalone per promuovere la replica di lettura a nuova istanza database di origine.
Nota
-
In My SQL 8.0, la replica ritardata è supportata RDS per My 8.0.28 e versioni successive. SQL Su My SQL 5.7, la replica ritardata è supportata RDS per My 5.7.44 e versioni successive. SQL
-
Utilizza le procedure archiviate per configurare la replica ritardata. Non è possibile configurare la replica ritardata con AWS Management Console, il AWS CLI, o Amazon RDSAPI.
-
Nelle versioni My SQL 5.7.44 e successive di My SQL 5.7 e nelle versioni My SQL 8.0.28 e RDS successive 8.0, puoi utilizzare la replica basata sugli identificatori di transazione globali () in una configurazione di replica ritardata. RDS GTIDs Se si utilizza la replica GTID basata, utilizzare la stored procedure anziché la stored procedure. Per ulteriori informazioni sulla replica GTID basata, vedere. Utilizzo della replica GTID basata
Argomenti
Configurazione della replica ritardata durante la creazione della replica di lettura
Per configurare la replica ritardata per eventuali repliche di lettura future create da un'istanza database, esegui la stored procedure mysql.rds_set_configuration con il parametro target delay
.
Per configurare le replica ritardata durante la creazione della replica di lettura
-
Utilizzando un SQL client My, connettiti all'istanza My SQL DB per essere la fonte per le repliche di lettura come utente principale.
-
Eseguire la procedura archiviata mysql.rds_set_configuration con il parametro
target delay
.Ad esempio, eseguire la seguente procedura archiviata per specificare che la replica è ritardata per almeno un'ora (3.600 secondi) per le repliche di lettura create dall'istanza database corrente.
call mysql.rds_set_configuration('target delay', 3600);
Nota
Dopo aver eseguito questa procedura memorizzata, qualsiasi replica di lettura creata utilizzando AWS CLI oppure Amazon RDS API è configurato con la replica ritardata del numero di secondi specificato.
Modifica della replica ritardata per una replica di lettura esistente
Per modificare la replica ritardata per una replica di lettura esistente, esegui la stored procedure mysql.rds_set_source_delay.
Per modificare la replica ritardata per una replica di lettura esistente
-
Utilizzando un SQL client My, connettiti alla replica di lettura come utente principale.
-
Usa la procedura archiviata mysql.rds_stop_replication per arrestare la replica.
-
Eseguire la procedura archiviata mysql.rds_set_source_delay.
Ad esempio, eseguire la seguente stored procedure per specificare che la replica sulla replica di lettura è ritardata per almeno un'ora (3600 secondi).
call mysql.rds_set_source_delay(3600);
-
Usare la procedura archiviata mysql.rds_start_replication per avviare la replica.
Definire una posizione per arrestare la replica su una replica di lettura
Dopo aver arrestato la replica sulla replica di lettura, puoi avviare la replica e poi arrestarla in corrispondenza della posizione del file di log binario specificato utilizzando la procedura archiviata .
Per avviare la replica su una replica di lettura e arrestare la replica in corrispondenza di una posizione specifica
-
Utilizzando un SQL client My, connettiti all'istanza My SQL DB di origine come utente principale.
-
Eseguire la procedura archiviata .
L'esempio seguente avvia la replica e replica le modifiche fino a raggiungere la posizione
120
nel file di log binariomysql-bin-changelog.000777
. In caso di disaster recovery, presumere che la posizione120
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
.
Promozione di una replica di lettura
Dopo l'arresto della replica, in uno scenario di disaster recovery, puoi promuovere la replica di lettura come nuova istanza database di origine. Per informazioni sulla promozione di una replica di lettura, consulta Promozione di una replica di lettura a istanza database standalone.