Voici le résumé de ce que j'ai compris entre les deux outils de sauvegarde.
La définition de mysqldump donnée dans la page de manuel
L'utilitaire client mysqldump effectue des sauvegardes logiques, produisant un ensemble d'instructions SQL qui peuvent être exécutées pour reproduire les définitions d'objet de base de données d'origine et les données de table. Il sauvegarde une ou plusieurs bases de données MySQL pour la sauvegarde ou les transferts vers un autre serveur SQL. La commande mysqldump peut également générer une sortie au format CSV, autre texte délimité ou format XML.
Mysqldump est très facile à utiliser et la syntaxe est également très simple. Lorsque nous l'exécutons, il convertit toutes les lignes en requêtes SQL et les affiche en sortie standard. Nous pouvons rediriger cette sortie vers un outfile (>) ou en utilisant une option - result-file.
Par défaut, mysqldump ne vide pas les tables information_schema et il ne prend jamais performance_schema. L'inconvénient majeur de mysqldump est qu'il n'utilise qu'un seul thread lors de la sauvegarde et de la restauration.
Mysqlpump est un autre utilitaire qui a été introduit dans MySQL 5.7 avec quelques fonctionnalités supplémentaires par rapport à mysqldump
La définition de mysqlpump donnée dans la page de manuel
L'utilitaire client mysqlpump effectue des sauvegardes logiques, produisant un ensemble d'instructions SQL qui peuvent être exécutées pour reproduire les définitions d'objet de base de données d'origine et les données de table. Il sauvegarde une ou plusieurs bases de données MySQL pour la sauvegarde ou les transferts vers un autre serveur SQL.
Les principales caractéristiques sont
Traitement parallèle (multi thread) pour accélérer la sauvegarde
Indicateur de progrès
Vidage des comptes utilisateurs en tant que (créer, accorder des relevés non en tant qu'inserts pour la base de données système MySQL)
Par défaut, mysqlpump ne prend pas de sauvegarde des bases de données système telles que le schéma d'informations, le schéma de performances et certaines tables système MySQL, sauf indication contraire explicite.
Il a également des options –include-database, –exclude-database, –include-table, –exclude-table avec correspondance de modèle (%).
Ces options sont plus pratiques pour les utilisateurs qui souhaitent sauvegarder uniquement quelques objets d'un ensemble de données entier.
En général, mysqlpump divise son travail en morceaux et chacun est affecté à une file d'attente multithread.
Cette file d'attente multithread est traitée par N threads (par défaut, elle utilise 2 threads).
Nous pouvons définir un certain nombre de threads en utilisant cette option –default-parallelism et –parallel-schemas.
pendant la restauration, il utilise un seul thread qui est le même que mysqldump, il manque une restauration parallèle.
En tant que module complémentaire, nous avons un autre outil qui effectue la parallélisation à la fois dans la sauvegarde et la restauration (où manquent mysqlpump et mysqldump) qui est appelé mydumper et myloader . Cela sera grandement utilisé lors de la restauration d'énormes ensembles de données.
Vous pouvez trouver plus de détails et ses options utiles de ces outils dans ce blog
mysqldump vs mysqlpump vs mydumper .