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 dei dati da un database MariaDB o MySQL a un'istanza database MariaDB o 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 mysqldumpmysqldump
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 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
\ --databasesdatabase_name
\ --single-transaction \ --compress \ --order-by-primary \ -plocal_password
| mysql -uRDS_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
einformation_schema
. Per impostazione predefinita, l'utilitymysqldump
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
– 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 parmetrolocal_user
--databases
.--databases
– Specifica il nome del database nell'istanza database MariaDB o MySQL locale che vuoi importare in Amazon RDS.database_name
-
--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 mentremysqldump
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.-p
– Specifica una password. La prima volta che usi questo parametro, devi specificare la password per l'account utente identificato dal primo parametrolocal_password
-u
.-u
– 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 parametroRDS_user
--host
.--port
– Specifica la porta per l'istanza database MariaDB o MySQL. Il valore predefinito è 3306, ma può essere modificato al momento della creazione dell'istanza.port_number
-
--host
– Specifica il nome del sistema dei nomi di dominio (DNS) dall'endpoint dell'istanza database Amazon RDS, ad esempiohost_name
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. -
-p
– Specifica una password. La seconda volta che usi questo parametro, devi specificare la password per l'account utente identificato dal secondo parametroRDS_password
-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
\ --databasesworld
\ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocalpassword
| mysql -urdsuser
\ --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
^ --databasesworld
^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocalpassword
| mysql -urdsuser
^ --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.