Importazione di dati da un database MySQL esterno in un'istanza DB Amazon RDS for MySQL - 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 MySQL esterno in un'istanza DB Amazon RDS for MySQL

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.

In MariaDB 10.5, il client si chiama mariadb-dump. A partire da MariaDB 11.0.1, è necessario utilizzare invece di. mariadb-dump mysqldump

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.

Amazon RDS non supporta xtrabackup MariadB o. mariabackup Amazon RDS supporta solo l'importazione da Amazon S3 per MySQL.

Un mysqldump comando tipico per spostare i dati da un database esterno a un'istanza Amazon RDS DB è simile al seguente esempio. Per MariaDB 11.0.1 e versioni successive, mysqldump sostituisci mariadb-dump con mysql e mariadb con nell'esempio 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. L'mariadb-dumputilità mysqldump and esclude questi schemi per impostazione predefinita.

  • Se devi migrare utenti e privilegi, prendi in considerazione l'utilizzo di uno strumento che genera il Data Control Language (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 nel database che stai copiando sono presenti alcuni di questi oggetti, escludili quando esegui o. mysqldump mariadb-dump Per farlo, includi i seguenti parametri con il mariadb-dump comando mysqldump or:--routines=0 --triggers=0 --events=0.

Nell'esempio seguente viene copiato il database di esempio world sull'host locale in un'istanza database MySQL. Per copiare il database di esempio in un'istanza di MariaDB DB, mysqldump sostituisci mariadb-dump con e con. mysql mariadb

In Linux, macOS, oppure 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.