Abilitazione della replica basata su GTID per le repliche di lettura esistenti per RDS per MySQL - Amazon Relational Database Service

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 della replica basata su GTID per le repliche di lettura esistenti per RDS per MySQL

Per un'istanza database di RDS for MySQL esistente con repliche di lettura che non utilizzano la replica basata su GTID, è possibile configurare la replica basata su GTID tra l'istanza database e le repliche di lettura.

Per abilitare la replica basata su GTID per le repliche di lettura esistenti
  1. 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 di RDS per MySQL 8.4 e le versioni 5.7 supportano la replica basata su GTID.

    Per ulteriori informazioni, consulta Aggiornamenti del motore di database RDS per MySQL.

  2. (Facoltativo) Reimpostare i parametri GTID e verificare il comportamento dell'istanza database e delle repliche di lettura:

    1. Verificare che il gruppo di parametri associato all'istanza database e ogni replica di lettura abbiano il parametro enforce_gtid_consistency impostato su WARN.

      Per ulteriori informazioni sull'impostazione dei parametri di configurazione mediante i gruppi di parametri, consultare Gruppi di parametri per Amazon RDS.

    2. 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 database.

    3. Eseguire l'istanza database e le repliche di lettura con il normale carico di lavoro e monitorare i file di log.

      Se vengono visualizzati avvisi relativi a transazioni incompatibili con GTID, modificare l'applicazione in modo che usi solo caratteristiche compatibili con GTID. Verificare che l'istanza database non stia generando avvisi relativi a transazioni incompatibili con GTID prima di procedere alla prossima fase.

  3. Reimpostare i parametri GTID per la replica basata su GTID che consente le transazioni anonime finché le repliche di lettura non ne completano l'elaborazione.

    1. Verificare che il gruppo di parametri associato all'istanza database e ogni replica di lettura abbiano le impostazioni dei parametri seguenti:

      • gtid_modeON_PERMISSIVE

      • enforce_gtid_consistencyON

    2. 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.

  4. Attendere il completamento della replica di tutte le transazioni anonime. Per verificare che vengano replicate, procedere come descritto di seguito:

    1. 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 File e Position.

    2. 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.000031 e 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.

  5. Reimpostare i parametri GTID solo per la replica basata su GTID.

    1. Verificare che il gruppo di parametri associato all'istanza database e ogni replica di lettura abbiano le impostazioni dei parametri seguenti:

      • gtid_modeON

      • enforce_gtid_consistencyON

    2. Riavviare l'istanza database e ogni replica di lettura.

  6. 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);