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

Puoi importare dati da un database MariaDB o MySQL esistente in un'istanza DB RDS per MariaDB o RDS for MySQL DB. Puoi farlo copiando il database con mysqldump e reindirizzandolo direttamente nell'istanza DB RDS per MariaDB o RDS per MySQL DB. 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 DB Amazon RDS for MySQL.

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 all'esempio seguente. Sostituisci i valori con le tue informazioni. Per MariaDB 11.0.1 e versioni successive, mysqldump sostituisci con e con. mariadb-dump mysql mariadb

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -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.

Come procedura consigliata per la sicurezza, specifica credenziali diverse da quelle mostrate in questo esempio.

Assicurati di essere a conoscenza dei seguenti suggerimenti e considerazioni:

  • Escludete i seguenti schemi dal file di dump:

    • sys

    • performance_schema

    • 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. Nel primo utilizzo di questo parametro, specifica il nome di un account utente sul database MariaDB o MySQL locale che identifichi con il parametro. --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.

  • --routines— Utilizzatelo se nel database che state copiando esistono routine come stored procedure o funzioni. Imposta il parametro su0, che esclude le routine durante il processo di importazione. Successivamente, ricrea manualmente le routine nel database Amazon RDS.

  • --triggers— Utilizza se nel database che stai copiando sono presenti dei trigger. Imposta il parametro su0, che esclude i trigger durante il processo di importazione. Successivamente, ricrea manualmente i trigger nel database Amazon RDS.

  • --events— Utilizza se esistono eventi nel database che stai copiando. Imposta il parametro su0, che esclude gli eventi durante il processo di importazione. Successivamente, ricrea manualmente gli eventi nel database Amazon RDS.

  • -plocal_password – Specifica una password. Nel primo utilizzo di questo parametro, specifica la password per l'account utente che identifichi con il primo -u parametro.

  • -u RDS_user – Specifica un nome utente. Nel secondo utilizzo di questo parametro, specifica il nome di un account utente nel database predefinito per l'istanza DB MariaDB o MySQL che identifichi con il parametro. --host

  • --port port_number – Specifica la porta per l'istanza database MariaDB o MySQL. Per impostazione predefinita, questo è 3306 a meno che non sia stato modificato il valore durante la creazione dell'istanza DB.

  • --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 nei dettagli dell'istanza DB nella console 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 hai uno di questi oggetti nel database che stai copiando, escludili quando esegui o. mysqldump mariadb-dump A tale scopo, includi i seguenti parametri con il mariadb-dump comando mysqldump or:

  • --routines=0

  • --triggers=0

  • --events=0

Esempio

L'esempio seguente copia il database world di esempio sull'host locale in un'istanza DB RDS for MySQL. Sostituisci i valori con le tue informazioni. Per copiare il database di esempio in un'istanza DB RDS for MariaDB, mysqldump sostituiscilo con e con. mariadb-dump mysql mariadb

In Linux, macOS, oppure Unix:

sudo mysqldump -u local_user \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mysql -u rds_user \ --port=3306 \ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com \ -pRDS_password

In Windows:

Esegui il comando seguente in un prompt dei comandi che è stato aperto facendo clic con il pulsante destro del mouse su Prompt dei comandi nel menu dei programmi di Windows e scegliendo Esegui come amministratore. Sostituisci i valori con le tue informazioni. Per copiare il database di esempio in un'istanza DB RDS for MariaDB, mysqldump sostituiscilo con e con. mariadb-dump mysql mariadb

mysqldump -u local_user ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocal_password | mysql -u RDS_user ^ --port=3306 ^ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com ^ -pRDS_password
Nota

Come procedura consigliata in materia di sicurezza, specifica credenziali diverse da quelle mostrate nell'esempio.