Skip to Content

Che cos'è la mysqlpump?

Che cos'è la mysqlpump?

L'utility mysqlpump è stata introdotta con MySQL 5.7 ed è un'alternativa più rapida alla vecchia utility mysqldump disponibile nelle versioni precedenti. Sebbene abbia funzionalità simili a mysqldump, l'utilità mysqlpump viene utilizzata per eseguire il backup di database di grandi dimensioni utilizzando il parallelismo, che non è disponibile nella vecchia utilità mysqldump. Possono essere necessari solo backup dell'intero database o alcuni oggetti selezionati.

Che cos'è la mysqlpump?

Introdotta in MySQL 5.7, mysqlpump è un'utilità client che esegue backup logici in cui viene prodotto un set di istruzioni SQL che possono essere eseguite per ripristinare l'oggetto database originale. Risolve il problema dei backup lenti in mysqldump tramite il supporto del parallelismo e del multithreading. Alcuni database contengono terabyte di dati, pertanto l'esportazione dei dati in un semplice file di testo può richiedere troppo tempo. L'utilità mysqlpump utilizza più thread in parallelo per trasferire i dati a un file di testo molto più velocemente. Poiché è stato introdotto anni fa, gli sviluppatori di database MySQL hanno apportato miglioramenti negli ultimi anni per fornire un'utilità mysqlpump più stabile e offrire più opzioni. Anche se è più veloce, l'utilità mysqlpump non dispone di tutte le opzioni disponibili in mysqldump, pertanto viene utilizzata solo quando gli amministratori hanno bisogno di un'esportazione rapida di un database MySQL e dei suoi dati.

Come installare mysqlpump

Se hai MySQL 5.7 o versione successiva, hai già accesso a mysqlpump. L'utilità viene fornita con il motore di database MySQL, quindi non è necessaria alcuna installazione. Se si dispone di una versione precedente di MySQL, non è possibile utilizzare mysqlpump, ma mysqldump è un'alternativa fattibile.

Che utilizzi MySQL su Windows o Linux, l'utilità mysqlpump è disponibile con il motore di database MySQL. È possibile utilizzarlo aprendo l'utilità della riga di comando in Windows o Linux e digitando "mysqlpump" con le numerose opzioni dei parametri per personalizzare il modo in cui l'utilità esporta i dati.

Uso di base ed esempi di mysqlpump

Con MySQL installato sul server, puoi accedere a mysqlpump dalla riga di comando. Aprire la riga di comando in Windows o Linux ed è possibile esportare uno schema di database utilizzando il comando seguente:

mysqlpump --all-databases --user=root --password > full_backup.sql

Il comando precedente esporta tutti gli schemi di database nel file full_backup.sql. Il nome utente e la password utilizzati devono avere accesso ai database che si desidera esportare, quindi assicurati di disporre di un account con privilegi elevati quando utilizzi l'utilità mysqlpump.

Se sei già autenticato in MySQL, puoi anche scaricare gli schemi di database senza specificare nome utente e password:

mysqlpump --all-databases > full_backup.sql

Se si preferisce scaricare un singolo database, è possibile utilizzare il comando seguente:

mysqlpump myDB

Il comando precedente esporta lo schema del database e i relativi dati per myDB. È possibile esportare più database separando il nome di ciascun database con un carattere di spazio.

Gli amministratori possono occasionalmente voler esportare solo tabelle specifiche all'interno di un database. Il dumping dei dati delle tabelle con mysqlpump può essere eseguito utilizzando il comando seguente:

mysqlpump myDB Customer Order

Nell'esempio precedente, l'istruzione mysqlpump esporta le tabelle Cliente e Ordine dal database myDB. Si noti che i nomi delle tabelle sono separati da un carattere di spazio.

Gli amministratori aziendali lavorano con backup differenziali e incrementali per evitare di eseguire ogni volta un backup completo. I backup differenziali contengono tutti i dati modificati dall'ultimo backup completo. Un backup incrementale memorizza tutti i dati modificati dall'ultimo backup, incrementale o completo. Questi due tipi di backup non sono possibili con mysqlpump, quindi l'utilità può essere utilizzata solo per eseguire un backup completo o parziale dei database e dei loro oggetti.

Uso avanzato di mysqlpump

L'utility mysqlpump offre alcune opzioni per un utilizzo avanzato. Il primo è l'uscita compressa. Per i database di grandi dimensioni, l'utilizzo di output compresso riduce la capacità dell'unità necessaria per archiviare i file di backup. È particolarmente utile negli ambienti aziendali in cui diversi file di grandi dimensioni saranno archiviati per i backup completi nel corso del mese.

È necessario specificare un algoritmo di compressione quando si utilizza mysqlpump. È possibile utilizzare LZ4, che viene utilizzato principalmente per la velocità. L'algoritmo zlib è più diffuso dagli amministratori che utilizzano gzip o il wrapper zlib. In questo esempio, l'algoritmo zlib viene utilizzato per generare un file gzip:

mysqlpump --compress --compress-output=zlib myDB > myDB_compressed.sql.gzip

Per garantire la conformità, i backup archiviati devono essere crittografati. I dati inattivi, ovvero memorizzati su un'unità, devono essere crittografati quando si tratta di informazioni sensibili di identificazione personale (PII), dati finanziari o qualsiasi dato che rientri nelle normative di conformità. In questo esempio, il comando mysqlpump viene inviato e utilizza OpenSSL per creare output crittografati:

mysqlpump --all-databases | openssl  enc -aes-256-cbc -k yourpassword > backup.xb.enc

Un aspetto di mysqlpump che lo rende vantaggioso per gli amministratori è la capacità di scaricare tabelle e database in parallelo, il che significa che può utilizzare più processi informatici per esportare i dati. Considera i dump paralleli come diverse esportazioni che avvengono contemporaneamente invece di aspettare che ogni oggetto completi uno per uno. Utilizzando l'elaborazione parallela, gli amministratori accelerano la procedura di backup.

Per utilizzare il parallelismo con mysqlpump, è necessario definire il numero di thread che verranno utilizzati durante l'esportazione. Il valore predefinito è due, ma è possibile definirne altri. La seguente affermazione utilizza quattro thread per esportare due tabelle, Cliente e Ordine, dal database myDB:

Mysqlpump -default-parallelism=4 myDB Customer Order > full_backup.sql

confronto tra mysqlpump e mysqldump

L'opzione di parallelismo in mysqlpump non è disponibile in mysqldump, quindi gli amministratori ottengono velocità di backup più elevate con mysqlpump. Il vantaggio di mysqlpump è rappresentato dai backup più rapidi in un ambiente enterprise di grandi dimensioni. Invece di dedicare diversi minuti all'esecuzione di un backup, il parallelismo nella mysqlpump potrebbe ridurre il tempo necessario per eseguire il backup dei dati a diversi minuti.

Non tutte le opzioni di mysqldump sono disponibili nella versione più recente di mysqlpump e per utilizzarla è necessario aver installato almeno MySQL 5.7. L'importazione non utilizza il parallelismo, quindi non hai il vantaggio della velocità di importazione dei dati. Gli amministratori possono scegliere di utilizzare utilità alternative per l'importazione dei dati.

Conclusione

I backup sono una parte essenziale dell'amministrazione dei database e l'utilità mysqlpump rende il processo molto più veloce. Per eseguire backup rapidi di un intero database o di alcuni oggetti in un database, mysqlpump esporta schemi e dati, crittografa e comprime e utilizza più thread con parallelismo. Puoi utilizzarlo ogni volta che è necessario creare un backup completo di un database o esportare più tabelle.

CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.