Hier ist eine Zusammenfassung dessen, was ich zwischen den beiden Sicherungstools verstanden habe.
Die Definition für mysqldump in der Manualpage
Das Dienstprogramm mysqldump client führt logische Sicherungen durch und erstellt eine Reihe von SQL-Anweisungen, die ausgeführt werden können, um die ursprünglichen Datenbankobjektdefinitionen und Tabellendaten zu reproduzieren. Es speichert eine oder mehrere MySQL-Datenbanken zum Sichern oder Übertragen auf einen anderen SQL-Server. Der Befehl mysqldump kann auch eine Ausgabe im CSV-, anderen Text- oder XML-Format generieren.
Mysqldump ist sehr einfach zu bedienen und die Syntax ist auch sehr einfach. Wenn wir dies ausführen, konvertiert es alle Zeilen in SQL-Abfragen und gibt diese in der Standardausgabe aus. Wir können diese Ausgabe in ein Outfile (>) umleiten oder eine option - result-file verwenden.
Standardmäßig gibt mysqldump keine information_schema-Tabellen aus und es wird nie performance_schema verwendet. Der Hauptnachteil von mysqldump ist, dass nur ein Thread für die Sicherung und Wiederherstellung verwendet wird.
Mysqlpump ist ein weiteres Dienstprogramm, das in MySQL 5.7 eingeführt wurde und im Vergleich zu mysqldump einige Features mehr bietet
Die Definition für mysqlpump in der Manualpage
Das mysqlpump-Client-Dienstprogramm führt logische Sicherungen durch und erstellt eine Reihe von SQL-Anweisungen, die ausgeführt werden können, um die ursprünglichen Datenbankobjektdefinitionen und Tabellendaten zu reproduzieren. Es speichert eine oder mehrere MySQL-Datenbanken zum Sichern oder Übertragen auf einen anderen SQL-Server.
Die Hauptmerkmale sind
Parallelverarbeitung (Multi-Threading) zur Beschleunigung des Backups
Fortschrittsanzeige
Dumping von Benutzerkonten als (erstellen, Anweisungen nicht als Einfügungen für MySQL-Systemdatenbank gewähren)
Standardmäßig nimmt mysqlpump keine Sicherung von Systemdatenbanken wie Informationsschema, Leistungsschema und einigen MySQL-Systemtabellen vor, es sei denn, dies wird ausdrücklich erwähnt.
Es gibt auch die Optionen –include-database, –exclude-database, –include-table, –exclude-table mit Pattern Matching (%).
Diese Optionen sind praktischer für Benutzer, die nur wenige Objekte aus einem gesamten Datensatz sichern möchten.
Im Allgemeinen unterteilt mysqlpump seine Arbeit in Blöcke und jeder dieser Blöcke ist einer Multithread-Warteschlange zugeordnet.
Diese Multithread-Warteschlange wird von N Threads verarbeitet (standardmäßig werden 2 Threads verwendet).
Mit dieser Option können wir eine Reihe von Threads definieren: Standardparallelität und Parallelitätsschemata.
Während der Wiederherstellung wird ein einzelner Thread verwendet, der mit mysqldump identisch ist. Es fehlt die parallele Wiederherstellung.
Als Add-On haben wir ein weiteres Tool, das sowohl Backup als auch Restore parallelisiert (wobei mysqlpump und mysqldump fehlen) und als mydumper und myloader bezeichnet wird . Dies wird beim Wiederherstellen großer Datasets stark genutzt.
Weitere Details und nützliche Optionen dieses Tools finden Sie in diesem Blog
mysqldump vs mysqlpump vs mydumper .