Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Come posso utilizzare i log binari di un'istanza database Amazon RDS per MySQL attiva per replicare su un server di standby on-premises?
Desidero replicare un'istanza database Amazon Relational Database Service (Amazon RDS) per MySQL su un server di standby on-premises.
Breve descrizione
Per eseguire la migrazione di dati da un'istanza database Amazon RDS per MySQL a un server on-premises, crea una replica in lettura su AWS. Quindi cambia la destinazione di replica passando dalla replica in lettura Amazon RDS per MySQL al server on-premises.
Se utilizzi la replica basata sull'identificatore di transazione globale (GTID), consulta Configurazione della replica della posizione del file di log binario con un'istanza di origine esterna.
Risoluzione
Crea una replica in lettura dell'istanza database attiva
Completa i seguenti passaggi:
-
Verifica di aver attivato i backup automatici per l'istanza database attiva che desideri replicare.
Nota: il periodo minimo di conservazione dei backup è di 1 giorno. Quando esegui il backup dei dati, incorri in costi aggiuntivi. Per ulteriori informazioni, consulta Prezzi di Amazon RDS. -
Crea una replica in lettura dell'istanza database attiva con la stessa configurazione.
-
Accedi all'istanza database della replica in lettura.
-
Esegui questo comando per verificare che l'istanza database della replica in lettura corrisponda all'istanza database attiva.
Per MySQL versione 8.0.23 e successive:mysql> show replica status \GPer MySQL versioni precedenti alla 8.0.23:
mysql> show slave status \GNota: quando l'istanza di replica non è in ritardo rispetto all'istanza database, il parametro Seconds_Behind_Master risulta pari a 0.
-
Esegui questo comando per interrompere la replica sull'istanza database della replica in lettura:
mysql> call mysql.rds_stop_replication; -
Per registrare i parametri -log_file e -log_position, esegui questo comando sull'istanza database della replica in lettura.
Per MySQL versione 8.0.23 e successive:mysql> show replica status \GPer MySQL versioni precedenti alla 8.0.23:
mysql> show slave status \GNota: -log_file è il valore di relay_source_log_file e -log_position è il valore di exec_source_log_pos.
Crea un file di dump dell'istanza database della replica in lettura
Completa i seguenti passaggi:
-
Esegui questo comando nel client mysqldump o in un'utilità simile per creare un backup dell'istanza database della replica in lettura:
mysqldump -h hostname -u username -p dbname > backup_file_name.sql -
Accedi al server on-premises, quindi trasferisci il file di dump sul server.
Ripristina il file dump nella nuova istanza database
Completa i seguenti passaggi:
-
Crea una nuova istanza database esterna sul server on-premises.
-
Esegui questo comando per ripristinare il file dump nella nuova istanza database esterna:
mysql -h hostname -u username -p dbname < backup_file_name.sql -
Accedi all'istanza database attiva.
-
Esegui questo comando per configurare un utente di replica e concedergli le autorizzazioni necessarie:
mysql> create user repl_user@'%' identified by 'repl_user'; mysql> grant replication slave, replication client on *.* to repl_user@'%'; mysql> show grants for repl_user@'%';Nota: sostituisci repl_user con il nome del tuo utente di replica.
-
Accedi alla nuova istanza database esterna e arresta il server on-premises.
-
Modifica i parametri del file my.cnf in modo che puntino all'ID del server univoco e al nome del database che desideri replicare. Ad esempio, server_id=2 e replicate-do-db=test.
-
Salva il file.
-
Riavvia il server on-premises.
Verifica che la nuova istanza database esterna possa connettersi all'istanza database attiva
Se utilizzi Amazon Elastic Compute Cloud (Amazon EC2) come istanza MySQL esterna, aggiorna l'istanza per consentire le connessioni dal gruppo di sicurezza. Oppure consenti le connessioni dall'indirizzo IP nel gruppo di sicurezza dell'istanza database attiva. Se utilizzi un server MySQL esterno, esegui telnet per testare la connettività. Per ulteriori informazioni, consulta Perché non riesco a connettermi alla mia istanza database Amazon RDS?
Completa i seguenti passaggi:
- Per modificare i parametri utilizzati dal server di replica per connettersi all'origine, esegui questo comando sulla nuova istanza database esterna.
Per MySQL versione 8.0.23 e successive:
Per MySQL versioni precedenti alla 8.0.23:mysql> change replication source to source_host='rds-endpoint', source_user='repl_user', source_password='password', source_log_file='mysql-bin.000001', source_log_pos=107;
Nota: sostituisci rds-endpoint con l'endpoint dell'istanza database attiva. Utilizza il nome utente e la password che hai creato quando hai ripristinato il file di dump nel nuovo database. Sostituisci i valori relay_source_file e exec_source_log_pos con i valori -log_file e -log_position della replica in lettura.mysql> change master to master_host='rds-endpoint', master_user='repl_user', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107; - Verifica che il server on-premises sia in grado di connettersi all'istanza database attiva.
Avvia la replica
Completa i seguenti passaggi:
-
Accedi al server on-premises.
-
Esegui questo comando per avviare la replica:
Per MySQL versione 8.0.23 e successive:mysql> start replica;Per MySQL versioni precedenti alla 8.0.23:
mysql> start slave; -
Esegui questo comando per verificare che la replica sia sincronizzata tra l'istanza database attiva e il server on-premises:
Per MySQL versione 8.0.23 e successive:mysql> show replica status\GPer MySQL versioni precedenti alla 8.0.23:
mysql> show slave status\G -
Quando il parametro Seconds_Behind_Master è uguale a 0, elimina l'istanza database della replica in lettura.
Informazioni correlate
Come posso migrare a un'istanza database Amazon RDS o Amazon Aurora utilizzando AWS DMS?
Esportazione di dati da un'istanza database MySQL utilizzando la replica
- Lingua
- Italiano
