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à.
Esportazione di dati da un'istanza database MySQL tramite la replica
È possibile utilizzare la replica per esportare dati da un'istanza database MySQL a un'istanza di MySQL eseguita esternamente ad Amazon RDS. In questo scenario, l'istanza database MySQL è l'istanza database MySQL di origine e l’istanza MySQL in esecuzione esterna a Amazon RDS è il database MySQL esterno.
Il database MySQL esterno può essere eseguito in locale nel data center o su un'istanza Amazon EC2. Il database MySQL esterno deve eseguire la stessa versione dell'istanza database MySQL di origine o una versione successiva.
La replica in un database MySQL esterno è supportata solo durante il tempo necessario per esportare un database dall'istanza database MySQL di origine. La replica deve essere terminata dopo che i dati sono stati esportati e le applicazioni possono iniziare ad accedere all'istanza MySQL esterna.
Nell'elenco seguente è indicata la procedura da eseguire. Ciascuna fase della procedura è descritta in modo dettagliato nelle sezioni successive.
Preparare un'istanza database MySQL esterna.
Preparare l'istanza database MySQL di origine per la replica.
Utilizzare l'utilità mysqldump per trasferire il database dall'istanza database MySQL di origine al database MySQL esterno.
Avviare la replica nel database MySQL esterno.
Al termine dell'esportazione, arrestare la replica.
Preparare un database MySQL esterno
Eseguire la procedura seguente per preparare il database MySQL esterno.
Per preparare il database MySQL esterno
-
Installare il database MySQL esterno.
-
Connettiti al database MySQL esterno come utente master. Creare quindi gli utenti necessari per supportare gli amministratori, le applicazioni e i servizi che accedono al database.
-
Seguire le istruzioni nella documentazione MySQL per preparare il database MySQL esterno come replica. Per ulteriori informazioni, consulta Setting the Replica Configuration
nella documentazione MySQL. -
Configurare una regola di uscita per consentire al database MySQL esterno di funzionare come replica di lettura durante l'esportazione. La regola di uscita consente al database MySQL esterno di connettersi all'istanza database MySQL di origine durante la replica. Specificare una regola in uscita che consenta le connessioni TCP (Transmission Control Protocol) alla porta e all'indirizzo IP dell'istanza database MySQL di origine.
Specificare le regole di uscita appropriate per l'ambiente in uso:
-
Se il database MySQL esterno è in esecuzione in un'istanza Amazon EC2 in un Virtual Private Cloud (VPC) basato sul servizio Amazon VPC, specificare le regole di uscita in un gruppo di sicurezza VPC. Per ulteriori informazioni, consulta Controllo dell'accesso con i gruppi di sicurezza.
-
Se il database MySQL esterno è installato in locale, specificare le regole di uscita in un firewall.
-
-
Se il database MySQL esterno è in esecuzione in un VPC, configurare le regole per le regole dell'elenco di controllo accessi VPC (ACL) oltre alla regola di uscita del gruppo di sicurezza:
-
Configurare una regola in ingresso della lista di controllo accessi che abiliti il traffico TCP verso le porte 1024–65535 dall'indirizzo IP dell'istanza database MySQL di origine.
-
Configurare una regola in uscita della lista di controllo accessi che abiliti il traffico TCP in uscita verso la porta e l'indirizzo IP dell'istanza database MySQL di origine.
Per ulteriori informazioni sulle liste di controllo accessi di rete Amazon VPC, consulta Liste di controllo accessi di rete in Guida per l'utente di Amazon VPC.
-
-
(Facoltativo) Si consiglia di impostare il parametro
max_allowed_packetsulla dimensione massima per evitare errori di replica. Si consiglia questa impostazione.
Preparare l'istanza database MySQL di origine
Eseguire la procedura seguente per preparare l'istanza database MySQL di origine come origine di replica.
Per preparare l'istanza database MySQL di origine
-
Assicurarsi che il computer client disponga di spazio su disco sufficiente per salvare i log binari durante la configurazione della replica.
-
Connettersi all’istanza database MySQL di origine e creare un account di replica seguendo le istruzioni in Creating a User for Replication
nella documentazione MySQL. -
Configurare le regole di ingresso sul sistema che esegue l'istanza database MySQL di origine per consentire al database MySQL esterno di connettersi durante la replica. Specificare una regola di ingresso che abiliti connessioni TCP alla porta usata dall'istanza database MySQL di origine dall'indirizzo IP del database MySQL esterno.
-
Specificare le regole di uscita:
-
Se l'istanza database viene eseguita in un VPC, specificare le regole in ingresso in un gruppo di sicurezza VPC. Per ulteriori informazioni, consulta Controllo dell'accesso con i gruppi di sicurezza.
-
-
Se l'istanza database viene eseguita in un VPC, configurare le regole della lista di controllo accessi VPC oltre alla regola di ingresso del gruppo di sicurezza.
-
Configurare una regola di ingresso della lista di controllo accessi che abiliti le connessioni TCP alla porta utilizzata dall'istanza Amazon RDS dall'indirizzo IP del database MySQL esterno.
-
Configurare una regola di ingresso che abiliti le connessioni TCP dalle porte 1024–65535 all'indirizzo IP del database MySQL esterno.
Per ulteriori informazioni sulle liste di controllo accessi di rete Amazon VPC, consulta Liste di controllo accessi di rete nella Guida per l'utente di Amazon VPC.
-
-
È necessario assicurarsi che la durata del periodo di retention dei backup impostata sia sufficiente a garantire che nessun log binario sia eliminato durante l'esportazione. Se eventuali log vengono eliminati prima che l'esportazione sia completata, dovrai riavviare la replica dall'inizio. Per ulteriori informazioni su come impostare il periodo di retention dei backup, consulta Introduzione ai backup.
-
Utilizzare la stored procedure
mysql.rds_set_configurationper impostare una durata del periodo di retention dei log binari sufficiente a garantire che i log primari non vengano eliminati durante l'esportazione. Per ulteriori informazioni, consulta Accesso ai log binari MySQL. -
Per garantire ulteriormente che i log binari dell'istanza database MySQL di origine non vengano eliminati, è necessario creare una replica di lettura Amazon RDS dall'istanza database MySQL di origine. Per ulteriori informazioni, consulta Creazione di una replica di lettura.
-
Dopo che la replica di lettura Amazon RDS è stata creata, chiamare la stored procedure
mysql.rds_stop_replicationper arrestare il processo di replica. L'istanza database MySQL di origine non elimina più i file di log binari, quindi questi sono disponibili per il processo di replica. -
(Facoltativo) Impostare il parametro
max_allowed_packete il parametroslave_max_allowed_packetsulla dimensione massima per evitare errori di replica. La dimensione massima per entrambi i parametri è 1 GB. Si consiglia questa impostazione per entrambi i parametri. Per informazioni sull'estensione dei parametri consulta Modifica dei parametri in un gruppo di parametri database in Amazon RDS.
Copia del database
Eseguire la procedura seguente per copiare il database.
Per copiare il database
-
Connettersi alla replica di lettura RDS dell'istanza database MySQL di origine ed eseguire l'istruzione
SHOW REPLICA STATUS\GMySQL. Prendere nota dei valori per i seguenti elementi:-
Master_Host -
Master_Port -
Master_Log_File -
Exec_Master_Log_Pos
Nota
Versioni precedenti di MySQL utilizzate
SHOW SLAVE STATUSal posto diSHOW REPLICA STATUS. Se si utilizza una versione MySQL prima della 8.0.23, utilizzareSHOW SLAVE STATUS. -
-
Usa l'utilità mysqldump per creare uno snapshot, che copia i dati da Amazon RDS al computer client locale. Assicurarsi che il computer client disponga di spazio sufficiente per contenere i file
mysqldumpdei database da replicare. Questo processo può richiedere diverse ore in caso di database di grandi dimensioni. Seguire le indicazioni in Creating a Data Snapshot Using mysqldumpnella documentazione MySQL. Nell'esempio seguente viene eseguito
mysqldumpsu un client e viene scritto il dump in un file.Per Linux, macOS o Unix:
mysqldump -hsource_MySQL_DB_instance_endpoint\ -uuser\ -ppassword\ --port=3306 \ --single-transaction \ --routines \ --triggers \ --databasesdatabase database2>path/rds-dump.sqlPer Windows:
mysqldump -hsource_MySQL_DB_instance_endpoint^ -uuser^ -ppassword^ --port=3306 ^ --single-transaction ^ --routines ^ --triggers ^ --databasesdatabase database2>path\rds-dump.sqlÈ possibile caricare il file di backup nel database MySQL esterno. Per ulteriori informazioni, consulta Reloading SQL-Format Backups
(Ricaricamento dei backup in formato SQL) nella documentazione di MySQL. Puoi eseguire un'altra utilità per caricare i dati nel database MySQL esterno.
Completamento dell'esportazione
Per completare l'esportazione, attenersi alla seguente procedura.
Per completare l'esportazione
-
Utilizzare l'istruzione MySQL
CHANGE MASTERper configurare il database MySQL esterno. Specificare l'ID e la password delle autorizzazioniREPLICATION SLAVEconcesse all'utente. Specificare i valori diMaster_Host,Master_Port,Relay_Master_Log_FileeExec_Master_Log_Posottenuti dall’istruzioneSHOW REPLICA STATUS\GMySQL eseguita sulla replica di lettura RDS. Per ulteriori informazioni, consulta CHANGE MASTER TO Statementnella documentazione MySQL. Nota
Versioni precedenti di MySQL utilizzate
SHOW SLAVE STATUSal posto diSHOW REPLICA STATUS. Se si utilizza una versione MySQL prima della 8.0.23, utilizzareSHOW SLAVE STATUS. -
Utilizzare il comando
START REPLICAMySQL per avviare la replica dall'istanza database MySQL di origine al database MySQL esterno.In questo modo viene avviata la replica dall'istanza database MySQL di origine e vengono esportate tutte le modifiche di origine che si sono verificate dopo aver interrotto la replica dalla replica di lettura Amazon RDS.
Nota
Versioni precedenti di MySQL utilizzate
START SLAVEal posto diSTART REPLICA. Se si utilizza una versione MySQL prima della 8.0.23, utilizzareSTART SLAVE. -
Eseguire il comando
SHOW REPLICA STATUS\GMySQL sul database MySQL esterno per verificare che funzioni come replica di lettura. Per ulteriori informazioni, consulta SHOW SLAVE | REPLICA STATUS Statementnella documentazione MySQL. -
Dopo che la replica sul database MySQL esterno ha raggiunto l'istanza database MySQL di origine, utilizzare il comando
STOP REPLICAMySQL per interrompere la replica dall'istanza database MySQL di origine.Nota
Versioni precedenti di MySQL utilizzate
STOP SLAVEal posto diSTOP REPLICA. Se si utilizza una versione MySQL prima della 8.0.23, utilizzareSTOP SLAVE. -
Nella replica di lettura Amazon RDS, chiamare la stored procedure
mysql.rds_start_replication. In questo modo Amazon RDS inizierà a eliminare i file di log binari dall'istanza database MySQL di origine.