Importazione di dati da un database MariaDB o MySQL esterno in un'istanza RDS per MariaDB o RDS per MySQL DB - 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à.

Importazione di dati da un database MariaDB o MySQL esterno in un'istanza RDS per MariaDB o RDS per MySQL DB

In alternativa, puoi importare i dati da un database MariaDB o MySQL esistente a un'istanza database MySQL o MariaDB. A questo scopo, copia il database con mysqldump e reindirizzalo direttamente nell'istanza database MariaDB o MySQL. L'utility a riga di comando mysqldump viene spesso usata per creare backup e trasferire dati da un server MariaDB o MySQL a un altro. ed è inclusa nel software del client MySQL e MariaDB.

Nota

Se stai importando o esportando grandi quantità di dati con un'istanza DB MySQL, è più affidabile e veloce spostare i dati da e verso Amazon RDS utilizzando file di backup e Amazon S3. xtrabackup Per ulteriori informazioni, consulta Ripristino di un backup in un'istanza Amazon RDS for My SQL DB.

Un tipico comando mysqldump per spostare dati da un database esterno a un'istanza database Amazon RDS è simile al seguente.

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ -plocal_password | mysql -u RDS_user \ --port=port_number \ --host=host_name \ -pRDS_password
Importante

Assicurati di non lasciare spazi tra l'opzione -p e la password immessa.

Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.

Assicurati di essere a conoscenza dei seguenti suggerimenti e considerazioni:

  • Escludi gli schemi seguenti dal file dump: sys, performance_schema e information_schema. Per impostazione predefinita, l'utility mysqldump esclude questi schemi.

  • Se devi 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

  • L’utente che esegue l'importazione deve avere accesso all'istanza database. Per ulteriori informazioni, consulta Controllo dell'accesso con i gruppi di sicurezza.

I parametri utilizzati sono i seguenti:

  • -u local_user – Specifica un nome utente. La prima volta che usi questo parametro, devi specificare il nome di un account utente nel database MariaDB o MySQL locale, identificato dal parmetro --databases.

  • --databases database_name – Specifica il nome del database nell'istanza database MariaDB o MySQL locale che vuoi importare in Amazon RDS.

  • --single-transaction – Verifica che tutti i dati caricati dal database locale siano coerenti a un singolo punto temporale. Nel caso in cui vi siano altri processi che modificano i dati mentre mysqldump li legge, l'uso di questo parametro aiuta a preservare l'integrità dei dati.

  • --compress – Riduce il consumo della larghezza di banda di rete comprimendo i dati dal database locale prima di inviarli ad Amazon RDS.

  • --order-by-primary – Riduce il tempo di caricamento ordinando i dati di ogni tabella in base alla chiave primaria.

  • -plocal_password – Specifica una password. La prima volta che usi questo parametro, devi specificare la password per l'account utente identificato dal primo parametro -u.

  • -u RDS_user – Specifica un nome utente. La seconda volta che usi questo parametro, devi specificare il nome di un account utente nel database predefinito per l'istanza database MariaDB o MySQL identificata dal parametro --host.

  • --port port_number – Specifica la porta per l'istanza database MariaDB o MySQL. Il valore predefinito è 3306, ma può essere modificato al momento della creazione dell'istanza.

  • --host host_name – Specifica il nome del sistema dei nomi di dominio (DNS) dall'endpoint dell'istanza 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.

  • -pRDS_password – Specifica una password. La seconda volta che usi questo parametro, devi specificare la password per l'account utente identificato dal secondo parametro -u.

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. Per farlo, includi i seguenti parametri obbligatori con il tuo comando mysqldump: --routines=0 --triggers=0 --events=0.

Nell'esempio seguente viene copiato il database di esempio world sull'host locale in un'istanza database MySQL.

PerLinux, o: macOS Unix

sudo mysqldump -u localuser \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocalpassword | mysql -u rdsuser \ --port=3306 \ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com \ -prdspassword

Per Windows, esegui il comando seguente in un prompt dei comandi che viene aperto facendo clic con il pulsante destro del mouse su Command Prompt (Prompt dei comandi) del menu dei programmi di Windows e selezionando Run as administrator (Esegui come amministratore):

mysqldump -u localuser ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocalpassword | mysql -u rdsuser ^ --port=3306 ^ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com ^ -prdspassword
Nota

Specifica credenziali diverse dai prompt mostrati qui come best practice per la sicurezza.