

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à.

# mysqldump e mysqlpump
<a name="mysqldump-and-mysqlpump"></a>

[mysqldump e mysqlpump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) [sono](https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html) strumenti nativi di backup del database per MySQL. MariaDB supporta mysqldump ma non supporta mysqlpump. Entrambi questi strumenti creano backup logici e fanno parte dei programmi client MySQL. mysqldump supporta l'elaborazione a thread singolo. mysqlpump supporta l'elaborazione parallela di database e oggetti all'interno dei database, per accelerare il processo di dump. È stato introdotto nella versione 5.7.8 di MySQL. mysqlpump è stato rimosso nella versione 8.4 di MySQL.

Il diagramma seguente mostra i passaggi di alto livello coinvolti nella migrazione di un database utilizzando un file di backup mysqldump o mysqlpump.



![\[Diagramma della migrazione di un file di backup mysqldump o mysqlpump e del suo ripristino su un'istanza DB. AWS\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/migration-large-mysql-mariadb-databases/images/mysqldump-mysqlpump-migration-aws.png)


Di seguito sono riportati i passaggi per utilizzare mysqldump o mysqlpump per migrare un database verso: Cloud AWS

1. Installa MySQL Shell sul server locale. Per istruzioni, consulta [Installazione di MySQL Shell nella documentazione di MySQL](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install-linux-quick.html). Questo installa sia mysqldump che mysqlpump.

1. Usando mysqldump o mysqlpump, crea un backup del database di origine locale. [Per istruzioni, consulta [mysqldump e [mysqlpump](https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html)](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) nella documentazione di MySQL, oppure vedi Fare backup con mysqldump nella documentazione di MariaDB.](https://mariadb.com/kb/en/making-backups-with-mysqldump/) [Per ulteriori informazioni su come richiamare i programmi MySQL e specificare le opzioni, vedere Uso dei programmi MySQL.](https://dev.mysql.com/doc/refman/8.0/en/programs-using.html)

1. Sposta il file di backup in un'istanza EC2 utilizzando uno dei Cloud AWS seguenti approcci:

   **Approccio** **3A**: monta un file system [Amazon FSx](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-file-shares.html) [o Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html) sul server locale che esegue l'istanza del database. È possibile utilizzare AWS Direct Connect o Site-to-Site VPN stabilire la connessione. È possibile eseguire il backup direttamente del database nella condivisione di file montata oppure eseguire il backup in due passaggi eseguendo il backup del database su un file system locale e quindi caricandolo sul volume FSx o EFS montato. Successivamente, monta il file system Amazon FSx o Amazon EFS, anch'esso montato sul server locale, su un'istanza EC2.

   **Approccio 3B**: utilizza l' AWS CLI AWS SDK o l'API REST di Amazon S3 per spostare direttamente il file di backup dal server locale a un bucket S3. Se il bucket S3 di destinazione si trova in un Regione AWS ambiente molto lontano dal data center, puoi utilizzare [Amazon S3 Transfer Acceleration per trasferire](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html) il file più rapidamente. Usa il file system [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse) per montare il bucket S3 sull'istanza EC2.

   **Approccio 3C**: installa l' AWS DataSync agente nel data center locale, quindi utilizzalo [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)per spostare il file di backup in un bucket Amazon S3. Usa il file system [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse) per montare il bucket S3 sull'istanza EC2.
**Nota**  
Puoi anche utilizzare Amazon S3 File Gateway per trasferire i file di backup del database di grandi dimensioni in un bucket S3 nel. Cloud AWS Per ulteriori informazioni sul tagging, consulta [Utilizzo di Amazon S3 File Gateway per trasferire file di backup](amazon-s3-file-gateway.md)in questa guida.

1. Utilizza il metodo di ripristino nativo per ripristinare il backup sul database di destinazione. Per istruzioni, consulta [Reloading di backup in formato SQL nella](https://dev.mysql.com/doc/refman/8.0/en/reloading-sql-format-dumps.html) documentazione di MySQL o vedi Ripristino [dei dati dai file di dump](https://mariadb.com/kb/en/restoring-data-from-dump-files/) nella documentazione di MariaDB.

1. (Facoltativo) È possibile impostare la replica tra il database di origine e l'istanza del database di destinazione. È possibile utilizzare la replica con log binario (binlog) per ridurre i tempi di inattività. Per ulteriori informazioni, consulta gli argomenti seguenti:
   + [Impostazione della configurazione della sorgente di replica](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html) nella documentazione MySQL
   + Per Amazon Aurora, consulta quanto segue:
     + [Sincronizzazione del cluster Amazon Aurora MySQL DB con il database MySQL utilizzando la replica nella documentazione](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.RepSync) di Aurora
     + [Utilizzo della replica binlog in Amazon Aurora nella](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html) documentazione di Aurora
   + Per Amazon RDS, consulta quanto segue:
     + [Utilizzo della replica MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.html) nella documentazione di Amazon RDS
     + [Utilizzo della replica MariadB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MariaDB.Replication.html) nella documentazione di Amazon RDS
   + Per Amazon EC2, consulta quanto segue:
     + [Configurazione della replica basata sulla posizione dei file di log binari nella documentazione](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto.html) MySQL
     + [Configurazione delle repliche](https://dev.mysql.com/doc/refman/8.0/en/replication-setup-replicas.html) nella documentazione MySQL
     + [Configurazione della replica nella documentazione](https://mariadb.com/kb/en/setting-up-replication/) di MariadB

## Vantaggi
<a name="advantages-mysqlpump-mysqldump"></a>
+ mysqldump e mysqlpump sono inclusi nell'installazione di MySQL Server
+ I file di backup generati da questi strumenti sono in un formato più leggibile.
+ Prima di ripristinare il file di backup, è possibile modificare il file.sql risultante utilizzando un editor di testo standard.
+ È possibile eseguire il backup di una tabella, di un database o anche di una particolare selezione di dati.
+ mysqldump e mysqlpump sono indipendenti dall'architettura della macchina.

## Limitazioni
<a name="limitations-mysqlpump-mysqldump"></a>
+ mysqldump è un processo di backup a thread singolo. Le prestazioni per l'esecuzione di un backup sono buone per i database di piccole dimensioni, ma possono diventare inefficienti quando le dimensioni del backup superano i 10 GB.
+ I file di backup in formato logico sono voluminosi, soprattutto se salvati come testo, e spesso sono lenti da creare e ripristinare.
+ Il ripristino dei dati può essere lento perché la riapplicazione delle istruzioni SQL nell'istanza DB di destinazione comporta un'elaborazione intensiva del disco I/O e della CPU per l'inserimento, la creazione di indici e l'applicazione dei vincoli di integrità referenziale.
+ L'utilità mysqlpump non è supportata per le versioni di MySQL precedenti alla 5.7.8 o per le versioni 8.4 e successive.
+ Per impostazione predefinita, mysqlpump non esegue un backup dei database di sistema, ad esempio o. `performance_schema` `sys` Per eseguire il backup di parte del database di sistema, denominalo esplicitamente nella riga di comando.
+ mysqldump non esegue il backup delle istruzioni InnoDB. `CREATE TABLESPACE`

**Nota**  
I backup delle istruzioni CREATE TABLESPACE e dei database di sistema sono utili solo quando si ripristinano i backup del database MySQL o MariadB su un'istanza EC2. Questi backup non vengono utilizzati per Amazon RDS o Aurora.

## Best practice
<a name="best-practices-mysqlpump-mysqldump"></a>
+ Quando ripristini il backup del database, disabilita i controlli chiave, ad esempio a livello di sessione nel database di destinazione. `FOREIGN_KEY_CHECKS` Ciò aumenta la velocità di ripristino.
+ Assicurati che l'utente del database disponga di [privilegi](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html) sufficienti per creare e ripristinare il backup.