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à.
Importazione di dati in un'istanza DB Amazon RDS for MariaDB con tempi di inattività ridotti
In alcuni casi, potrebbe essere necessaria l'importazione dei dati da un database MariaDB o MySQL esterno che supporti un'applicazione live per un'istanza database MariaDB o MySQL oppure per un cluster database multi-AZ MySQL. Usa la seguente procedura per ridurre l'impatto sulla disponibilità delle applicazioni. Questa procedura può risultare utile anche quando utilizzi un database di dimensioni particolarmente elevate. Utilizzando questa procedura, puoi ridurre i costi di importazione riducendo la quantità di dati trasmessi attraverso la rete a. AWS
In questa procedura, trasferisci una copia dei dati del tuo database su un' EC2 istanza Amazon e importi i dati in un nuovo database Amazon RDS. Utilizza quindi la replica per portare il database Amazon RDS up-to-date con la tua istanza esterna attiva, prima di reindirizzare l'applicazione al database Amazon RDS. Configura la replica di MariaDB in base agli identificatori di transazione globali GTIDs () se l'istanza esterna è MariaDB 10.0.24 o versione successiva e l'istanza di destinazione è RDS for MariaDB. In alternativa, è possibile configurare la replica in base alle coordinate del log binario. Si consiglia la replica basata su GTID se supportata dal database esterno perché è un metodo più affidabile. Per ulteriori informazioni, consulta ID globali di transazione
Nota
Per importare i dati in un'istanza database MySQL e lo scenario supporta questo approccio, si consiglia di spostare dati da e verso Amazon RDS usando i file di backup e Amazon S3. Per ulteriori informazioni, consulta Ripristino di un backup in un'istanza Amazon RDS for My SQL DB.

Creazione di una copia del database esistente
La prima fase per eseguire la migrazione di grandi quantità di dati in un database RDS per MariaDB o RDS per MySQL riducendo al minimo i tempi di inattività consiste nella creazione di una copia dei dati di origine.

Puoi utilizzare l'utility mysqldump per creare un backup del database in formato SQL o come testo delimitato. Consigliamo di eseguire un test con ciascun formato, fuori dall'ambiente di produzione, per capire quale metodo consente di ridurre maggiormente il tempo di esecuzione di mysqldump.
Consigliamo anche di soppesare le prestazioni di mysqldump e i vantaggi offerti dal caricamento con il formato a testo delimitato. Un backup eseguito con testo delimitato crea un file di testo separato da tabulazioni per ciascuna tabella eliminata. Per ridurre il tempo di importazione del database, puoi caricare questi file in parallelo con il comando LOAD DATA LOCAL INFILE
. Per ulteriori informazioni sul formato di mysqldump più adatto per il caricamento dei dati, consulta Utilizzo di mysqldump per i backup
Prima di iniziare l'operazione di backup, devi impostare le opzioni di replica nel database MariaDB o MySQL da copiare in Amazon RDS. Le opzioni di replic includono l'attivazione del log binario e l'impostazione di un ID server univoco. L'impostazione di tali opzioni porta il server ad avviare la registrazione delle transazioni del database e lo prepara per diventare l'istanza di replica di origine in una fase successiva del processo.
Nota
Utilizzare l'opzione --single-transaction
con mysqldump perché esegue il dump di uno stato coerente del database. Per garantire un file di dump valido, non eseguire istruzioni DDL (Data Definition Language) durante l'esecuzione di mysqldump. È possibile pianificare una finestra di manutenzione per queste operazioni.
Escludi gli schemi seguenti dal file dump: sys
, performance_schema
e information_schema
. Per impostazione predefinita, l'utility mysqldump esclude questi schemi.
Per migrare utenti e privilegi, prendi in considerazione l'utilizzo di uno strumento che genera il linguaggio di controllo dei dati (DCL) per ricrearli, come l'utilità. pt-show-grants
Per impostare le opzioni di autenticazione
-
Modificare il file
my.cnf
(posto in genere sotto/etc
).sudo vi /etc/my.cnf
Aggiungere le opzioni
log_bin
eserver_id
alla sezione[mysqld]
. L'opzionelog_bin
fornisce un identificatore di nome file per i file di log binari. L'opzioneserver_id
fornisce un identificatore univoco per il server in relazioni master-replica.L'esempio seguente mostra la sezione
[mysqld]
aggiornata di un filemy.cnf
.[mysqld] log-bin=mysql-bin server-id=1
Per ulteriori informazioni, consulta la documentazione di MySQL
. -
Per la replica con un cluster database multi-AZ, imposta
ENFORCE_GTID_CONSISTENCY
e il parametroGTID_MODE
suON
.mysql> SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = ON;
mysql> SET @@GLOBAL.GTID_MODE = ON;
Queste impostazioni non sono necessarie per la replica con un'istanza database.
-
Riavvia il servizio
mysql
.sudo service mysqld restart
Per creare una copia di backup del database esistente
-
Creare un backup dei dati con l'utility mysqldump, specificando SQL o testo delimitato.
Specificare
--master-data=2
per creare un file di backup che possa essere utilizzato per avviare la replica fra i server. Per ulteriori informazioni, consultare la documentazione di mysqldump. Per migliorare le prestazioni e garantire l'integrità dei dati, utilizzare le opzioni
--order-by-primary
e--single-transaction
di mysqldump.Per non includere il database del sistema MySQL nel backup, non utilizzare l'opzione
--all-databases
con mysqldump. Per ulteriori informazioni, consultare Creating a Data Snapshot Using mysqldumpnella documentazione di MySQL. Se necessario, utilizzare
chmod
per avere la certezza che la directory in cui viene creato il file di backup sia scrivibile.Importante
In Windows, eseguire la finestra di comando come amministratore.
-
Per produrre un output SQL, utilizzare il comando seguente.
In Linux, macOS, oppure Unix:
sudo mysqldump \ --databases
database_name
\ --master-data=2 \ --single-transaction \ --order-by-primary \ -r backup.sql \ -ulocal_user
\ -ppassword
Nota
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.
In Windows:
mysqldump ^ --databases
database_name
^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -r backup.sql ^ -ulocal_user
^ -ppassword
Nota
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.
-
Per produrre un output in testo delimitato, utilizzare il comando seguente.
In Linux, macOS, oppure Unix:
sudo mysqldump \ --tab=
target_directory
\ --fields-terminated-by ',' \ --fields-enclosed-by '"' \ --lines-terminated-by 0x0d0a \database_name
\ --master-data=2 \ --single-transaction \ --order-by-primary \ -ppassword
In Windows:
mysqldump ^ --tab=
target_directory
^ --fields-terminated-by "," ^ --fields-enclosed-by """ ^ --lines-terminated-by 0x0d0a ^database_name
^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -ppassword
Nota
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.
Eventuali procedure, trigger, funzioni o eventi devono essere creati manualmente nel database Amazon RDS. Se il database da copiare dovesse contenere questi tipi di oggetti, dovrai escluderli al momento di eseguire mysqldump. A tale scopo, includi i seguenti argomenti con il comando mysqldump:
--routines=0 --triggers=0 --events=0
.Quando si utilizza il formato con testo delimitato, il commento
CHANGE MASTER TO
viene restituito all'esecuzione di mysqldump. Tale commento contiene il nome e la posizione del file log principale. Se l'istanza esterna è diversa da MariaDB versione 10.0.24 o successiva, annotare i valori perMASTER_LOG_FILE
eMASTER_LOG_POS
. Questi valori sono necessari durante l'impostazione della replica.-- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
Se si utilizza il formato SQL, è possibile ottenere il nome e la posizione del file log principale nel commento
CHANGE MASTER TO
nel file di backup. Se l'istanza esterna è MariaDB, versione 10.0.24 o successiva, si può ottenere il GTID nella fase successiva.
-
-
Se l'istanza esterna è MariaDB, versione 10.0.24 o successiva, si utilizza la replica basata su GTID. Eseguire
SHOW MASTER STATUS
nell'istanza MariaDB esterna per ottenere il nome e la posizione del file di log binario e convertirlo in un GTID utilizzandoBINLOG_GTID_POS
nell'istanza MariaDB esterna.SELECT BINLOG_GTID_POS('
binary log file name
',binary log file position
);Annotare il GTID restituito, perché sarà necessario per configurare la replica.
-
Comprimi i dati copiati per ridurre la quantità di risorse di rete necessarie per copiare i dati nell'istanza database Amazon RDS. Annota la dimensione del file di backup. Queste informazioni sono necessarie per determinare le dimensioni di un' EC2 istanza Amazon da creare. Al termine, comprimere il file di backup con GZIP o un'altra utility simile.
-
Per comprimere l'output SQL, utilizzare il comando seguente.
gzip backup.sql
-
Per comprimere un output in testo delimitato, utilizzare il comando seguente.
tar -zcvf backup.tar.gz
target_directory
-
Crea un' EC2 istanza Amazon e copia il database compresso
La copia del file di backup compresso del database su EC2 un'istanza Amazon richiede meno risorse di rete rispetto alla copia diretta di dati non compressi tra istanze di database. Dopo che i tuoi dati sono in Amazon EC2, puoi copiarli direttamente da lì nel tuo database MariaDB o MySQL. Per risparmiare sul costo delle risorse di rete, l' EC2 istanza Amazon deve trovarsi nella stessa AWS regione dell'istanza Amazon RDS DB. Avere l' EC2 istanza Amazon nella stessa AWS regione del database Amazon RDS riduce anche la latenza di rete durante l'importazione.

Per creare un' EC2 istanza Amazon e copiare i tuoi dati
-
Nel luogo in Regione AWS cui prevedi di creare il database RDS, crea un cloud privato virtuale (VPC), un gruppo di sicurezza VPC e una sottorete VPC. Verificare che le regole in entrata del gruppo di sicurezza VPC consentano agli indirizzi IP necessari per l'applicazione di connettersi ad AWS. Puoi specificare un intervallo di indirizzi IP (ad esempio
203.0.113.0/24
) oppure un altro gruppo di sicurezza VPC. Puoi utilizzare la console di gestione Amazon VPCper creare e gestire VPCs sottoreti e gruppi di sicurezza. Per ulteriori informazioni, consultare le nozioni di base su Amazon VPC nella Guida alle operazioni di base di Amazon Virtual Private Cloud. -
Apri la Console di EC2 gestione Amazon
e scegli la AWS regione in cui contenere sia l' EC2istanza Amazon che il database Amazon RDS. Avvia un' EC2 istanza Amazon utilizzando il VPC, la sottorete e il gruppo di sicurezza che hai creato nella fase 1. Assicurarsi di selezionare un tipo di istanza con spazio di storage sufficiente per il file di backup del database decompresso. Per i dettagli sulle EC2 istanze Amazon, consulta la Guida introduttiva alle istanze Amazon EC2 Linux nella Guida per l'utente di Amazon Elastic Compute Cloud per Linux. -
Per connetterti al tuo database Amazon RDS dall' EC2 istanza Amazon, modifica il gruppo di sicurezza VPC. Aggiungi una regola in entrata che specifica l'indirizzo IP privato dell'istanza. EC2 Puoi trovare l'indirizzo IP privato nella scheda Dettagli del riquadro Istanza nella finestra della EC2 console. Per modificare il gruppo di sicurezza VPC e aggiungere una regola in entrata, scegli Gruppi di sicurezza nel riquadro di navigazione della EC2 console, scegli il tuo gruppo di sicurezza, quindi aggiungi una regola in entrata per MySQL o Aurora specificando l'indirizzo IP privato dell'istanza. EC2 Per ulteriori informazioni sull'aggiunta di una regola in entrata a un gruppo di sicurezza VPC, consulta Aggiunta ed eliminazione delle regole nella Guida per l'utente di Amazon VPC.
-
Copia il file di backup compresso del database dal sistema locale all' EC2 istanza Amazon.
chmod
Utilizzalo se necessario per assicurarti di disporre dell'autorizzazione di scrittura per la directory di destinazione dell' EC2 istanza Amazon. Il file può essere copiato conscp
oppure con un client Secure Shell (SSH). Di seguito è riportato un esempio.scp -r -i
key pair
.pem backup.sql.gz ec2-user@EC2 DNS
:/target_directory
/backup.sql.gzImportante
Assicurarsi di copiare i dati sensibili utilizzando un protocollo di trasferimento di rete sicuro.
-
Connettiti alla tua EC2 istanza Amazon e installa gli aggiornamenti più recenti e gli strumenti del client MySQL utilizzando i seguenti comandi.
sudo yum update -y sudo yum install mysql -y
Per ulteriori informazioni, consultare la pagina relativa alla connessione all'istanza nella Guida per l'utente di Amazon Elastic Compute Cloud per Linux.
Importante
Questo esempio installa il client MySQL su una Amazon Machine Image (AMI) per una distribuzione Amazon Linux. Non si applica all'installazione del client MySQL su una distribuzione diversa, come Ubuntu o Red Hat Enterprise Linux. Per informazioni sull'installazione di MySQL, visita la pagina Installazione e aggiornamento di MySQL
nella documentazione MySQL. -
Mentre sei connesso alla tua EC2 istanza Amazon, decomprimi il file di backup del database. Di seguito vengono mostrati gli esempi.
-
Per decomprimere l'output SQL, utilizzare il comando seguente.
gzip backup.sql.gz -d
-
Per decomprimere un output in testo delimitato, utilizzare il comando seguente.
tar xzvf backup.tar.gz
-
Crea un database MySQL o MariadB e importa i dati dalla tua istanza Amazon EC2
Creando un'istanza DB MariaDB, un'istanza DB MySQL o un cluster DB MySQL Multi-AZ nella stessa regione dell'istanza Amazon, puoi importare AWS il file di EC2 backup del database da più velocemente che da Internet. EC2

Per creare un database MariaDB o MySQL e importare i dati
-
Determina la classe di istanza database e la quantità di spazio di archiviazione necessaria per supportare il carico di lavoro previsto per il database Amazon RDS. Come parte di questo processo, è necessario valutare la quantità di spazio richiesta e la capacità di elaborazione per le procedure di caricamento dati. Valuta anche l'occorrente per gestire il carico di lavoro della produzione. È possibile produrre una stima sulla base delle dimensioni e delle risorse del database MariaDB o MySQL di origine. Per ulteriori informazioni, consulta Classi di istanze DB .
-
Crea un'istanza DB o un cluster DB Multi-AZ nella AWS regione che contiene la tua EC2 istanza Amazon.
Per creare un cluster database multi-AZ MySQL, segui le istruzioni riportate in Creazione di un cluster DB Multi-AZ per Amazon RDS.
Per creare un'istanza database MariaDB o MySQL, segui le istruzioni riportate in Creazione di un'istanza Amazon RDS DB e attieniti alle seguenti linee guida:
-
Specifica una versione del motore di database compatibile con l'istanza database di origine, come indicato di seguito:
-
Se l'istanza di origine è MySQL 5.5.x, l'istanza database Amazon RDS deve essere MySQL.
-
Se l'istanza di origine è MySQL 5.6.x o 5.7.x, l'istanza database Amazon RDS deve essere MySQL o MariaDB.
-
Se l'istanza di origine è MySQL 8.0.x, l'istanza database di Amazon RDS deve essere MySQL 8.0.x.
-
Se l'istanza di origine è MySQL 8.4.x, l'istanza database Amazon RDS deve essere MySQL 8.4.x.
-
Se l'istanza di origine è MariaDB 5.5 o versione successiva, l'istanza database Amazon RDS deve essere MariaDB.
-
-
Specificate lo stesso cloud privato virtuale (VPC) e lo stesso gruppo di sicurezza VPC della vostra istanza Amazon. EC2 Questo approccio garantisce che l' EC2 istanza Amazon e l'istanza Amazon RDS siano visibili l'una all'altra sulla rete. Assicurati che l'istanza database sia accessibile pubblicamente. L'istanza database deve essere pubblicamente accessibile per impostare la replica con il database di origine descritto successivamente in questo argomento.
-
Non configurare più zone di disponibilità, retention dei backup o repliche di lettura fino a quando non è stato importato il backup del database. Al termine dell'importazione, puoi configurare le varie zone di disponibilità e la conservazione dei backup per l'istanza di produzione.
-
-
Esamina le opzioni di configurazione predefinite per il database Amazon RDS. Se il gruppo di parametri predefinito per il database non include le opzioni di configurazione desiderate, cercane uno che le contenga oppure crea un gruppo di parametri nuovo. Per ulteriori informazioni sulla creazione di gruppi di parametri, consulta Gruppi di parametri per RDS.
-
Connettiti al nuovo database Amazon RDS come utente master. Creare gli utenti necessari per supportare gli amministratori, le applicazioni e i servizi che devono accedere all’istanza. Il nome host per il database Amazon RDS corrisponde al valore dell'endpoint per l'istanza, senza includere il numero di porta. Un esempio è
mysampledb.123456789012.us-west-2.rds.amazonaws.com
. Il valore dell'endpoint è disponibile nei dettagli del database nella Console di gestione Amazon RDS. -
Connect alla tua EC2 istanza Amazon. Per ulteriori informazioni, consultare la pagina relativa alla connessione all'istanza nella Guida per l'utente di Amazon Elastic Compute Cloud per Linux.
-
Connettiti al tuo database Amazon RDS come host remoto dalla tua EC2 istanza Amazon utilizzando il
mysql
comando. Di seguito è riportato un esempio.mysql -h
host_name
-P 3306 -udb_master_user
-pIl nome host corrisponde all'endpoint del database Amazon RDS.
-
Al prompt
mysql
eseguire il comandosource
e passare al comando il nome del file dump del database per caricare i dati nell'istanza database Amazon RDS.-
Per il formato SQL, utilizzare il comando seguente.
mysql> source backup.sql;
-
Per il formato con testo delimitato, crea innanzitutto il database, se non usi il database predefinito creato al momento dell'impostazione del database Amazon RDS.
mysql> create database
database_name
; mysql> usedatabase_name
;Quindi creare le tabelle.
mysql> source
table1
.sql mysql> sourcetable2
.sql etc...Infine, importare i dati.
mysql> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; mysql> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; etc...
Per migliorare le prestazioni, puoi eseguire queste operazioni in parallelo da più connessioni, in modo che tutte le tabelle vengano create e caricate contemporaneamente.
Nota
Se hai utilizzato opzioni di formattazione dei dati con mysqldump quando hai inizialmente scaricato la tabella, assicurati di utilizzare le stesse opzioni con per garantire una corretta interpretazione del contenuto del file
LOAD DATA LOCAL INFILE
di dati.
-
-
Eseguite una semplice
SELECT
query su una o due tabelle del database importato per verificare che l'importazione sia avvenuta correttamente.
Se non hai più bisogno dell' EC2 istanza Amazon utilizzata in questa procedura, interrompi l' EC2istanza per ridurre l'utilizzo AWS delle risorse. Per terminare un' EC2 istanza, consulta Terminare un'istanza nella Amazon EC2 User Guide.
Replica tra il database esterno e un nuovo database Amazon RDS
È probabile che il database di origine sia stato aggiornato durante la copia e il trasferimento dei dati nel database MariaDB o MySQL. Pertanto, puoi utilizzare la replica per portare il database copiato up-to-date con il database di origine.

Le autorizzazioni necessarie per avviare la replica in un database Amazon RDS sono limitate e non disponibili per l'utente master Amazon RDS. Per questo motivo, assicurati di utilizzare il comando Amazon RDS, o il comando per configurare la replica e il mysql.rds_set_external_master_gtid mysql.rds_start_replication comando per avviare la replica tra il tuo database live e il tuo database Amazon RDS.
Per avviare la replica
In precedenza, hai attivato il log binario e impostato un ID server univoco per il database di origine. Ora puoi impostare il database Amazon RDS come replica, utilizzando il database live come istanza di replica di origine.
-
Nella Console di gestione Amazon RDS aggiungi l'indirizzo IP del server che ospita il database di origine al gruppo di sicurezza VPC per il database Amazon RDS. Per ulteriori informazioni sulla modifica di un gruppo di sicurezza VPC, consulta Gruppi di sicurezza per il VPC nella Guida per l'utente di Amazon Virtual Private Cloud.
Potrebbe essere necessario configurare anche la rete locale per consentire le connessioni dall'indirizzo IP del database Amazon RDS, in modo da poter comunicare con l'istanza di origine. Per individuare l'indirizzo IP del database Amazon RDS, utilizza il comando
host
.host
rds_db_endpoint
Il nome host corrisponde al nome DNS dell'endpoint del database Amazon RDS, ad esempio
myinstance.123456789012.us-east-1.rds.amazonaws.com
. Puoi trovare il valore dell'endpoint è disponibile nei dettagli dell'istanza, nella console di gestione Amazon RDS. -
Utilizzando il client scelto, eseguire la connessione all'istanza di origine e creare un utente da utilizzare per la replica. Questo account viene utilizzato unicamente per la replica e deve essere limitato al dominio personale per aumentare la sicurezza. Di seguito è riportato un esempio.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Nota
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.
-
Per l'istanza di origine, concedere i privilegi
REPLICATION CLIENT
eREPLICATION SLAVE
all'utente di replica. Per concedere ad esempio i privilegiREPLICATION CLIENT
eREPLICATION SLAVE
su tutti i database per l'utente "repl_user
" del proprio dominio, eseguire questo comando.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
-
Se per creare il file di backup è stato usato il formato SQL e l'istanza esterna non è MariaDB 10.0.24 o superiore, controllare il contenuto del file.
cat backup.sql
Il file include un commento
CHANGE MASTER TO
che contiene il nome e la posizione del file di log principale. Il commento si trova nel file di backup, se è stata utilizzata l'opzione--master-data
con mysqldump. Prendere nota dei valori perMASTER_LOG_FILE
eMASTER_LOG_POS
.-- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
Se per creare il file di backup è stato usato il formato con testo delimitato e l'istanza esterna non è MariaDB 10.0.24 o superiore, si dovrebbe già disporre delle coordinate del log binario dalla fase 1 della procedura descritta nella sezione “Per creare una copia di backup del database esistente” di questo articolo.
Se l'istanza esterna è MariaDB 10.0.24 o superiore, si dovrebbe già disporre del GTID da cui avviare la replica dalla fase 2 della procedura descritta nella sezione “Per creare una copia di backup del database esistente” di questo articolo.
-
Definisci il database Amazon RDS come replica. Se l'istanza esterna non è MariaDB 10.0.24 o versioni successive, connettiti al database Amazon RDS come utente principale e identifica il database di origine come istanza di replica di origine utilizzando il comando or. Se si dispone di un file di backup in formato SQL, utilizzare il nome e la posizione del file log principale, recuperati nella fase precedente. Se invece è stato usato il formato con testo delimitato, utilizzare il nome e la posizione determinati al momento di creare i file di backup. I seguenti comandi sono esempi.
MySQL 8.4 e versioni successive
CALL mysql.rds_set_external_source ('myserver.mydomain.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.000031', 107, 1);MariadB e MySQL 8.0 e versioni precedenti
CALL mysql.rds_set_external_master ('myserver.mydomain.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.000031', 107, 1);Nota
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.
Se l'istanza esterna è MariaDB 10.0.24 o versioni successive, connettiti al database Amazon RDS come utente master e identifica il database di origine come istanza di replica di origine usando il comando mysql.rds_set_external_master_gtid. Utilizzare il GTID determinato nel passaggio 2 della procedura descritta nella sezione “Per creare una copia di backup del database esistente” di questo articolo. Di seguito è riportato un esempio.
CALL mysql.rds_set_external_master_gtid ('
source_server_ip_address
', 3306, 'ReplicationUser', 'password
', 'GTID
', 1);source_server_ip_address
è l' indirizzo IP dell'istanza di replica di origine. Un indirizzo DNS EC2 privato non è attualmente supportato.Nota
Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.
-
Nel database Amazon RDS esegui il comando mysql.rds_start_replication per avviare la replica.
CALL mysql.rds_start_replication;
-
Sul database Amazon RDS, esegui il comando SHOW REPLICA STATUS
per determinare quando la replica è up-to-date con l'istanza di replica di origine. I risultati del comando SHOW REPLICA STATUS
includono il campoSeconds_Behind_Master
. Quando ilSeconds_Behind_Master
campo restituisce 0, la replica si trova up-to-date con l'istanza di replica di origine.Nota
Versioni precedenti di MySQL utilizzate
SHOW SLAVE STATUS
al posto diSHOW REPLICA STATUS
. Se si utilizza una versione MySQL prima della 8.0.23, utilizzareSHOW SLAVE STATUS
.Per un'istanza database MariaDB 10.5, 10.6 o 10.11, esegui la procedura mysql.rds_replica_status anziché il comando MySQL.
-
Una volta installato il database Amazon RDS up-to-date, attiva i backup automatici in modo da poter ripristinare il database, se necessario. È possibile attivare o modificare i backup automatici per il database Amazon RDS tramite la Console di gestione Amazon RDS
. Per ulteriori informazioni, consulta Introduzione ai backup.
Reindirizzamento di un'applicazione attiva nell'istanza di Amazon RDS
Dopo che il up-to-date database MariaDB o MySQL è con l'istanza di replica di origine, ora puoi aggiornare la tua applicazione live per utilizzare l'istanza Amazon RDS.

Per reindirizzare l'applicazione live al database MariaDB o MySQL e arrestare la replica
-
Per aggiungere il gruppo di sicurezza VPC per il database Amazon RDS, immetti l'indirizzo IP del server che ospita l'applicazione. Per ulteriori informazioni sulla modifica di un gruppo di sicurezza VPC, consulta Gruppi di sicurezza per il VPC nella Guida per l'utente di Amazon Virtual Private Cloud.
-
Verifica che il
Seconds_Behind_Master
campo nei risultati del comando SHOW REPLICA STATUSsia 0, il che indica che la replica è up-to-date con l'istanza di replica di origine. SHOW REPLICA STATUS;
Nota
Versioni precedenti di MySQL utilizzate
SHOW SLAVE STATUS
al posto diSHOW REPLICA STATUS
. Se si utilizza una versione MySQL prima della 8.0.23, utilizzareSHOW SLAVE STATUS
.Per un'istanza database MariaDB 10.5, 10.6 o 10.11, esegui la procedura mysql.rds_replica_status anziché il comando MySQL.
-
Chiudere tutte le connessioni all'origine quando le loro transazioni sono complete.
-
Aggiorna l'applicazione per usare il database Amazon RDS. In genere, l'aggiornamento prevede la modifica delle impostazioni di connessione per identificare il nome host e la porta del database Amazon RDS, l'account utente e la password per eseguire la connessione e il database da utilizzare.
-
Effettua la connessione all'istanza database.
Per un cluster database multi-AZ, connettiti all'istanza database di scrittura.
-
Interrompere la replica per l'istanza Amazon RDS tramite il comando mysql.rds_stop_replication.
CALL mysql.rds_stop_replication;
-
Esegui il comando or sul tuo database Amazon RDS per reimpostare la configurazione di replica in modo che questa istanza non venga più identificata come replica.
MySQL 8.4 e versioni successive
CALL mysql.rds_reset_external_source;
MariadB e MySQL 8.0 e versioni precedenti
CALL mysql.rds_reset_external_master;
-
Attivare le caratteristiche aggiuntive di Amazon RDS, quali il supporto Multi-AZ e le repliche di lettura. Per ulteriori informazioni, consulta Configurazione e gestione di una distribuzione Multi-AZ per Amazon RDS e Uso delle repliche di lettura dell'istanza database.