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à.
Utilizzo della replica basata su GTID
Il seguente contenuto spiega come utilizzare gli identificatori di transazione globali (GTID) con la replica di log binari (binlog) . tra un cluster Aurora MySQL e una fonte esterna.
Nota
Per Aurora, puoi utilizzare questa caratteristica solo con i cluster Aurora MySQL che utilizzano la replica basata sui registri binari verso o da un database MySQL esterno. L'altro database può essere un'istanza Amazon RDS MySQL, un database MySQL On-Premise o un cluster di database Aurora in una Regione AWS diversa. Per sapere come configurare questo tipo di replica, consultare Replica tra Aurora e MySQL o tra Aurora e un altro cluster di database Aurora (replica dei log binari).
La replica basata su GTID è supportata per Aurora MySQL versione 2 e 3.
Argomenti
Identificatori globali di transazione (GTID)
Gli identificatori globali di transazione (GTID) sono identificatori univoci generati per le transazioni MySQL sottoposte a commit. Puoi utilizzare i GTID per semplificare la replica basata sui log binari e facilitare la risoluzione dei problemi.
Nota
Quando Aurora sincronizza i dati tra le istanze database in un cluster, tale meccanismo di replica non coinvolge i log binari (binlog). Per Aurora MySQL, la replica basata su GTID si applica solo quando si utilizza anche la replica basata sui log binari per replicare un database esterno compatibile con MySQL verso o da un cluster di database di Aurora MySQL.
MySQL utilizza due diversi tipi di transazioni per la replica basata sui log binari:
-
Transazioni GTID – Transazioni identificate da un GTID.
-
Transazioni anonime – Transazioni a cui non è assegnato un GTID.
In una configurazione di replica, i GTID sono univoci in tutte le istanze database. I GTID semplificano la configurazione della replica perché, quando vengono utilizzati, non è necessario fare riferimento alle posizioni nel file di log. I GTID semplificano anche la registrazione delle transazioni replicate e verificano che l’istanza di origine e le repliche siano coerenti.
In genere si utilizza la replica basata su GTID con Aurora durante la replica da un database esterno compatibile con MySQL verso un cluster Aurora. Puoi configurare questa configurazione di replica come parte di una migrazione da un database locale o Amazon RDS verso Aurora MySQL. Se il database esterno utilizza già i GTID, l'abilitazione della replica basata su GTID per il cluster Aurora semplifica il processo di replica.
Configuri la replica basata su GTID per un cluster Aurora MySQL impostando innanzitutto i parametri di configurazione rilevanti in un gruppo di parametri del cluster di database. Quindi associ tale gruppo di parametri al cluster.
Parametri per la replica basata su GTID
Utilizzare i parametri seguenti per configurare la replica basata su GTID.
Parametro | Valori validi | Descrizione |
---|---|---|
|
|
|
|
|
|
Nota
Nel, il parametro appare come. AWS Management Consolegtid_mode
gtid-mode
Per la replica basata su GTID, utilizza queste impostazioni per il gruppo di parametri del cluster di database per il cluster di database Aurora MySQL:
-
ON
eON_PERMISSIVE
si applicano solo alla replica in uscita da un cluster Aurora MySQL. Entrambi questi valori fanno sì che il cluster di database Aurora utilizzi i GTID per le transazioni replicate su un database esterno.ON
richiede che anche il database esterno utilizzi la replica basata su GTID. PerON_PERMISSIVE
la replica basata su GTID è opzionale sul database esterno. -
OFF_PERMISSIVE
, se impostato, significa che il cluster di database Aurora può accettare la replica in ingresso da un database esterno. Possono farlo indipendentemente dal fatto che il database esterno utilizzi la replica basata su GTID o meno. -
OFF
, se impostato, significa che il cluster di database Aurora accetta solo la replica in ingresso da database esterni che non utilizzano la replica basata su GTID.
Suggerimento
La replica in ingresso è lo scenario di replica basata sui log binari più comune per i cluster Aurora MySQL. Per la replica in ingresso, ti consigliamo di impostare la modalità GTID su OFF_PERMISSIVE
. Questa impostazione consente la replica in ingresso da database esterni indipendentemente dalle impostazioni GTID dell'origine della replica.
Per ulteriori informazioni sui gruppi di parametri, consultare Utilizzo di gruppi di parametri.
Configurazione della replica basata su GTID per un cluster Aurora MySQL
Quando la replica basata su GTID è abilitata per un cluster di database Aurora MySQL, le impostazioni GTID si applicano sia alla replica basata sui log binari in ingresso che a quella in uscita.
Per abilitare la replica basata su GTID per un cluster Aurora MySQL
-
Creare o modificare un gruppo di parametri del cluster di database utilizzando le seguenti impostazioni dei parametri:
-
gtid_mode
–ON
oON_PERMISSIVE
-
enforce_gtid_consistency
–ON
-
-
Associare il gruppo di parametri del cluster di database al cluster Aurora MySQL. A tale scopo, seguire la procedura descritta in Utilizzo di gruppi di parametri.
-
(Facoltativo) Specifica come assegnare i GTID alle transazioni che non li includono. Per eseguire questa operazione, chiama la procedura archiviata in mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL versione 3).
Disabilitazione della replica basata su GTID per un cluster DB Aurora MySQL
Puoi disabilitare la replica basata su GTID per un cluster di database Aurora MySQL. Ciò significa che il cluster Aurora non può eseguire la replica basata sui log binari in ingresso o in uscita con database esterni che utilizzano la replica basata su GTID. .
Nota
Nella seguente procedura, replica di lettura indica la destinazione della replica in una configurazione Aurora con replica basata sui log binari verso o da un database esterno. Non indica istanze database di replica a sola lettura di Aurora. Ad esempio, quando un cluster Aurora accetta la replica in ingresso da un'origine esterna, l'istanza primaria Aurora funge da replica di lettura per la replica basata sui log binari.
Per ulteriori dettagli sulle procedure memorizzate citate in questa sezione, consultare Procedure archiviate Aurora MySQL.
Per disabilitare la replica basata su GTID per un cluster database Aurora MySQL
-
Sulle repliche Aurora, esegui la seguente procedura:
Per la versione 3
CALL mysql.rds_set_source_auto_position(0);
Per la versione 2
CALL mysql.rds_set_master_auto_position(0);
-
Reimpostare
gtid_mode
suON_PERMISSIVE
.-
Verificare che il gruppo di parametri del cluster di database associato al cluster di database Aurora MySQL abbia il parametro
gtid_mode
impostato suON_PERMISSIVE
.Per ulteriori informazioni sull'impostazione dei parametri di configurazione mediante i gruppi di parametri, consultare Utilizzo di gruppi di parametri.
-
Riavvio del cluster di database Aurora MySQL
-
-
Reimpostare
gtid_mode
suOFF_PERMISSIVE
.-
Verificare che il gruppo di parametri del cluster di database associato al cluster di database Aurora MySQL abbia il parametro
gtid_mode
impostato suOFF_PERMISSIVE
. -
Riavvio del cluster di database Aurora MySQL
-
-
Attendere che tutte le transazioni GTID vengano applicate sull'istanza primaria di Aurora. Per verificare che vengano applicate, procedi nel seguente modo:
-
Sull'istanza database primaria di Aurora, esegui il comando
SHOW MASTER STATUS
.Il risultato dovrebbe essere simile al seguente.
File Position ------------------------------------ mysql-bin-changelog.000031 107 ------------------------------------
Annotare il file e la posizione nell'output.
-
In ogni replica letta, utilizzate le informazioni sul file e sulla posizione dalla relativa istanza di origine nel passaggio precedente per eseguire la seguente query:
Per la versione 3
SELECT SOURCE_POS_WAIT('
file
',position
);Per la versione 2
SELECT MASTER_POS_WAIT('
file
',position
);Ad esempio, se il nome del file è
mysql-bin-changelog.000031
e la posizione è107
, esegui la seguente istruzione:Per la versione 3
SELECT SOURCE_POS_WAIT('mysql-bin-changelog.000031', 107);
Per la versione 2
SELECT MASTER_POS_WAIT('mysql-bin-changelog.000031', 107);
-
-
Reimposta i parametri GTID per disabilitare la replica basata su GTID.
-
Verificare che il gruppo di parametri del cluster di database associato al cluster Aurora MySQL abbia le seguenti impostazioni dei parametri:
-
gtid_mode
–OFF
-
enforce_gtid_consistency
–OFF
-
-
Riavvio del cluster di database Aurora MySQL
-