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

Detaillierte Erklärung der Getter-Verwendung in vuex

Vorwort Mit Vuex können wir im Store „Getter“ def...

JavaScript-Grundlagenoperatoren

Inhaltsverzeichnis 1. Betreiber Zusammenfassen 1....

Detailliertes Tutorial zur Installation des Tomcat9-Windows-Dienstes

1. Vorbereitung 1.1 Laden Sie das komprimierte To...

Lösung für den Apache-Cross-Domain-Ressourcenzugriffsfehler

In vielen Fällen platzieren große und mittelgroße...

MySql-Lerntag 03: Verbindungs- und Abfragedetails zwischen Datentabellen

Primärschlüssel: Schlagwort: Primärschlüssel Funk...

Inaktive Benutzer nach einem Login-Timeout in Linux automatisch abmelden

Methode 1: Ändern Sie die Datei .bashrc oder .bas...

Tiefgreifendes Verständnis der verschiedenen Sperren von MySQL

Inhaltsverzeichnis Schlossübersicht Sperrklassifi...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

Linux verwendet die suid vim.basic-Datei, um eine Rechteausweitung zu erreichen

Auf Kali reproduzieren Legen Sie zunächst die Sui...

Centos8 erstellt NFS basierend auf KDC-Verschlüsselung

Inhaltsverzeichnis Konfiguration NFS-Server (nfs....

Beispiel für die Anpassung des Vue-Projekts an den großen Bildschirm

Eine kurze Analyse von rem Zunächst einmal ist re...