Abilitazione della replica GTID basata sulle repliche di lettura esistenti per RDS For My SQL - 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 GTID basata sulle repliche di lettura esistenti per RDS For My SQL

Per un'istanza My SQL DB esistente con repliche di lettura che non utilizza la replica GTID basata, è possibile configurare la replica GTID basata tra l'istanza DB e le repliche di lettura.

Per abilitare la replica GTID basata sulle repliche di lettura esistenti
  1. Se l'istanza DB o qualsiasi replica di lettura utilizza una versione 8.0 di RDS for My SQL versione precedente alla 8.0.26, aggiorna l'istanza DB o leggi la replica alla 8.0.26 o una versione successiva di My 8.0. SQL Tutte RDS le versioni di My 5.7 supportano la replica basata. SQL GTID

    Per ulteriori informazioni, consulta Aggiornamenti del motore RDS for My SQL DB.

  2. (Facoltativo) Reimposta i GTID parametri e verifica il comportamento dell'istanza DB e leggi le repliche:

    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 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 visualizzi avvisi relativi alle transazioni GTID -incompatible, modifica l'applicazione in modo che utilizzi solo le funzionalità compatibili. GTID Assicurati che l'istanza DB non generi alcun avviso sulle transazioni GTID -incompatible prima di procedere al passaggio successivo.

  3. Reimposta i GTID parametri per la replica GTID basata che consente transazioni anonime fino a quando le repliche di lettura non le hanno elaborate tutte.

    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.

      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. Reimposta i GTID parametri solo per la replica GTID basata.

    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.

    CALL mysql.rds_set_master_auto_position(1);