Vergleich von mydumper und mysqldump in MySQL

Vergleich von mydumper und mysqldump in MySQL

Wenn Sie nur ein paar Tabellen oder eine einzelne Datenbank sichern möchten, sind mysqldump und mydumper praktischer als innobackup. mydumper hat jedoch relativ mehr Funktionen, wie z. B. Multithread-Backup, regelmäßiges Matching-Backup, Gruppierung und Selbstprüfung. Darüber hinaus sind mydumper und mysqldump beim Exportieren logischer Daten im Wesentlichen gleich und unterstützen kein Online-Hot-Backup von innodb. Natürlich können wir auch innobackup verwenden, um einige Tabellendaten zu sichern, aber es ist nicht dieselbe Sicherungsmethode wie mydumper und mysqldump, daher wird im Folgenden nur die Verwendung von mydumper und mysqldump getestet.

mydumper-Export

Verwenden Sie das Tool mydumper, um die Testdaten (9,4 GB) mit 8 Threads zu exportieren und zu komprimieren, wie unten gezeigt:
mydumper -B test --regex 'test.*' -c -e -G -E -R --use-savepoints -h 10.0.21.5 -u root -P 3301 -p xxxxxx -t 8 -o /data/mysql_bak/

Im Verzeichnis /data/mysql_bak wird jede Tabelle in der Datenbank als zwei Dateien gespeichert: Tabellendefinition und Daten.

Die Gesamtausführungszeit beträgt insgesamt 123s

# cat-Metadaten 
Dump gestartet am: 19.05.2017 10:48:00
MASTER-STATUS ANZEIGEN:
  Protokoll: mysql-bin.000406
  Position: 2165426
  GTID: (null)

SLAVE-STATUS ANZEIGEN:
  Gastgeber: 10.144.127.4
  Protokoll: mysql-bin.000419
  Position: 506000361
  GTID: (null)

Dump fertig am: 19.05.2017 10:50:03

mysqldump-Export

Verwenden Sie das Standardtool mysqldump, um das Repository zu exportieren und wie folgt zu komprimieren:

# Zeit mysqldump -B test -E -R -h 10.0.21.5 -u root -P 3301 -p | gzip >/data/test.sql.gz
Passwort eingeben: 

echte 3m19.805s
Benutzer 4m47.334s
System 0 m10,395 s

Die tatsächliche Zeile zeigt, dass die gesamte Laufzeit von mysqldump 199,8 Sekunden beträgt.

Zusammenfassen

Im Allgemeinen ist der Zeitunterschied zwischen mysqldump und mydumper aufgrund der geringen Datenmenge nicht groß. Die meiste Zeit wird für die Datenübertragung aufgewendet. Wenn die Datenbank groß genug ist, kann der Vorteil von mydumper zum Tragen kommen. Darüber hinaus treten aufgrund der Änderungen in der Syntax der höheren Version von MySQL bei der niedrigeren Version von mydumper Exportfehler auf, wie beispielsweise der folgende Fehler:

** (mydumper:18758): KRITISCH **: „SET OPTION SQL_QUOTE_SHOW_CREATE=1“ konnte nicht ausgeführt werden: In Ihrer SQL-Syntax liegt ein Fehler vor; 
Prüfen Sie im Handbuch zu Ihrer MySQL-Serverversion die richtige Syntax für die Verwendung in der Nähe von „OPTION SQL_QUOTE_SHOW_CREATE=1“. 
in Zeile 1 (1064)

Um dieses Problem zu lösen, können Sie eine höhere Version von MyDumper verwenden. Wenn dieses Problem in der höheren Version weiterhin besteht, können Sie auf den offiziellen Code auf GitHub verweisen und entsprechende Codeänderungen vornehmen.

Das könnte Sie auch interessieren:
  • PHP geplante Backup MySQL und mysqldump Syntax-Parameter detailliert
  • Was Sie beim Sichern von Daten mit mysqldump und dem Parameter -w beachten sollten
  • Detaillierte Erläuterung der Backup-Parameter für die mysqldump-Datenbank
  • Implementierung der MySQL5.7 mysqldump-Sicherung und -Wiederherstellung
  • Zusammenfassung der MySql-Import- und Exportmethoden mit mysqldump
  • Detaillierte Erklärung zur Verwendung von MySQL mysqldump
  • Docker verwendet den Befehl mysqldump, um MySQL-Daten im Projekt zu sichern und zu exportieren
  • MySQL-Datenmigration mit dem Befehl MySQLdump
  • Detaillierte Erklärung zum Exportieren von Datenbank-, Daten- und Tabellenstrukturen mit Linux mysqldump
  • Detaillierte Diskussion zum Thema mysqldump-Datenexport
  • Fälle, in denen bestimmte Bibliotheken beim Sichern der Datenbank mit mysqldump ausgeschlossen werden
  • Eine kurze Erläuterung zur Verwendung von mysqldump (Sicherung und Wiederherstellung von MySQL-Datenbanken)
  • mysqldump-Parameter, die Sie möglicherweise nicht kennen

<<:  Analyse und Lösung von Datenverlusten während der Wertübertragung von Vue-Komponenten

>>:  Implementierung eines Crawler-Scrapy-Image, das von Dockerfile basierend auf Alpine erstellt wurde

Artikel empfehlen

Erklärung der MySQL-Indextypen Normal, Unique und Full Text

Zu den Indextypen von MySQL gehören Normalindex, ...

Detaillierte Erläuterung des MySQL-Mechanismus zur gemeinsamen Abfrageoptimierung

Inhaltsverzeichnis Strategie zur Ausführung föder...

Spezielle Befehle in der MySql-Datenbankabfrage

Erstens: Installation von MySQL Laden Sie die MyS...

Verwendung des Linux-Befehls chkconfig

1. Befehlseinführung Der Befehl chkconfig wird zu...

So bereinigen Sie den von Docker belegten Speicherplatz

Docker nimmt viel Platz ein. Immer wenn wir Conta...

Tab-Effekte mit JS schreiben

In diesem Artikelbeispiel wird der spezifische Co...

Schritte zum Übertragen von Dateien und Ordnern zwischen zwei Linux-Servern

Heute habe ich mich mit der Migration eines Proje...

Detaillierte Erklärung des Hintergrund-Positionsprozentsatzprinzips

Als ich heute jemandem beim Anpassen des Codes ha...

Lösungen für das Problem der Erstellung von XHTML- und CSS-Webseiten

Die Lösungen für die Probleme, die bei der Erstell...