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à.
Abilitazione GTID-based della replica per le repliche di lettura esistenti per RDS for MySQL
Per un'istanza DB MySQL esistente con repliche di lettura che non GTID-based utilizza la replica, è possibile GTID-based configurare la replica tra l'istanza DB e le repliche di lettura.
Per abilitare la replica per le repliche di lettura esistenti GTID-based
-
Se l'istanza database o qualsiasi replica di lettura sta utilizzando RDS versione 8.0 for MySQL versione 8.0.26 o precedente, aggiornare l'istanza database o la replica di lettura a MySQL 8.0.26 o versione successiva alla 8.0. Tutte le versioni RDS for MySQL 8.4 e 5.7 supportano la replica. GTID-based
Per ulteriori informazioni, consulta Aggiornamenti del motore di database RDS per MySQL.
-
(Facoltativo) Reimpostare i parametri GTID e verificare il comportamento dell'istanza database e delle repliche di lettura:
-
Verificare che il gruppo di parametri associato all'istanza database e ogni replica di lettura abbiano il parametro
enforce_gtid_consistencyimpostato suWARN.Per ulteriori informazioni sull'impostazione dei parametri di configurazione mediante i gruppi di parametri, consultare Gruppi di parametri per Amazon RDS.
-
Se è stato modificato un gruppo di parametri dell'istanza database, riavviare l'istanza. Se il gruppo di parametri è stato modificato per una replica di lettura, riavviare la replica.
Per ulteriori informazioni, consulta Riavvio di un'istanza DB DB.
-
Eseguire l'istanza database e le repliche di lettura con il normale carico di lavoro e monitorare i file di log.
Se visualizzi avvisi sulle GTID-incompatible transazioni, modifica l'applicazione in modo che utilizzi solo le funzionalità. GTID-compatible Assicurati che l'istanza DB non generi alcun avviso sulle GTID-incompatible transazioni prima di procedere al passaggio successivo.
-
-
Reimposta i parametri GTID per la GTID-based replica che consente transazioni anonime fino a quando le repliche di lettura non le hanno elaborate tutte.
-
Verificare che il gruppo di parametri associato all'istanza database e ogni replica di lettura abbiano le impostazioni dei parametri seguenti:
-
gtid_mode–ON_PERMISSIVE -
enforce_gtid_consistency–ON
-
-
Se è stato modificato un gruppo di parametri dell'istanza database, riavviare l'istanza. Se il gruppo di parametri è stato modificato per una replica di lettura, riavviare la replica.
-
-
Attendere il completamento della replica di tutte le transazioni anonime. Per verificare che vengano replicate, procedere come descritto di seguito:
-
Eseguire questa istruzione sull'istanza DB primaria.
MySQL 8.4
SHOW BINARY LOG STATUS;MySQL 5.7 e 8.0
SHOW MASTER STATUS;Annotare i valori nelle colonne
FileePosition. -
In ogni replica di lettura, utilizzare le informazioni su file e posizione presenti nell’istanza di origine menzionata nella fase precedente per eseguire la query seguente.
SELECT MASTER_POS_WAIT('file',position);Ad esempio, se il nome del file è
mysql-bin-changelog.000031e la posizione è107, eseguire l'istruzione seguente.SELECT MASTER_POS_WAIT('mysql-bin-changelog.000031', 107);Se la replica di lettura si trova dopo la posizione specificata, la query la restituisce immediatamente. In caso contrario, la funzione entra in attesa. Passare alla fase successiva quando la query restituisce risposte per tutte le repliche di lettura.
-
-
Reimposta i parametri GTID solo per la replica. GTID-based
-
Verificare che il gruppo di parametri associato all'istanza database e ogni replica di lettura abbiano le impostazioni dei parametri seguenti:
-
gtid_mode–ON -
enforce_gtid_consistency–ON
-
-
Riavviare l'istanza database e ogni replica di lettura.
-
-
In ogni replica di lettura completare la procedura seguente.
MySQL 8.4 e versioni principali successive
CALL mysql.rds_set_source_auto_position(1);MySQL 8.0 e versioni secondarie precedenti
CALL mysql.rds_set_master_auto_position(1);