Ecco il riassunto di ciò che ho capito tra entrambi gli strumenti di backup.
La definizione per mysqldump fornita nella pagina del manuale
L'utilità client mysqldump esegue backup logici, producendo una serie di istruzioni SQL che possono essere eseguite per riprodurre le definizioni degli oggetti del database originale e i dati della tabella. Scarica uno o più database MySQL per il backup o trasferisce su un altro server SQL. Il comando mysqldump può anche generare output in formato CSV, altro testo delimitato o formato XML.
Mysqldump è molto facile da usare e anche la sintassi è molto semplice. Quando lo eseguiamo, converte tutte le righe in query SQL e le stampa nell'output standard. Possiamo reindirizzare questo output su un file out (>) o usando un'opzione - file-risultato.
Per impostazione predefinita, mysqldump non scarica le tabelle information_schema e non accetta mai performance_schema. Il principale svantaggio di mysqldump è che utilizza solo un thread durante l'esecuzione di backup e ripristino.
Mysqlpump è un'altra utility che è stata introdotta in MySQL 5.7 con alcune funzionalità in più rispetto a mysqldump
La definizione per mysqlpump fornita nella pagina del manuale
L'utilità client mysqlpump esegue backup logici, producendo una serie di istruzioni SQL che possono essere eseguite per riprodurre le definizioni degli oggetti del database originale e i dati della tabella. Scarica uno o più database MySQL per il backup o trasferisce su un altro server SQL.
Le caratteristiche principali sono
Elaborazione parallela (multi thread) per accelerare il backup
Indicatore di progresso
Dumping degli account utente come (creare, concedere istruzioni non come inserti per il database di sistema MySQL)
Per impostazione predefinita, mysqlpump non esegue il backup dei database di sistema come lo schema delle informazioni, lo schema delle prestazioni e alcune tabelle di sistema MySQL, a meno che non sia menzionato esplicitamente.
Ha anche opzioni –include-database, –exclude-database, –include-table, –exclude-table con pattern matching (%).
Queste opzioni sono più convenienti per gli utenti che desiderano eseguire il backup di pochi oggetti da un intero set di dati.
In generale, mysqlpump divide il suo lavoro in blocchi e ognuno è assegnato a una coda multi-thread.
Questa coda multithread viene elaborata da N thread (per impostazione predefinita utilizza 2 thread).
Possiamo definire un numero di thread usando questa opzione –default-parallelism e –parallel-schemi.
durante il ripristino, utilizza un singolo thread che è uguale a mysqldump, privo di ripristino parallelo.
Come componente aggiuntivo, abbiamo un altro strumento che esegue la parallelizzazione sia nel backup che nel ripristino (dove manca mysqlpump e mysqldump) che si chiama mydumper e myloader . Questo sarà molto usato durante il ripristino di enormi set di dati.
Puoi trovare ulteriori dettagli e le sue utili opzioni di questi strumenti in questo blog
mysqldump vs mysqlpump vs mydumper .