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

CentOS8-Installationstutorial für JDK8/Java8 (empfohlen)

Vorwort Zuerst wollte ich es mit wget auf CentOS8...

XHTML 1.0-Referenz

Nach Funktion sortierenNN: Gibt an, welche frühere...

Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

Das Festlegen der Schriftart für die gesamte Site...

Detaillierte Erklärung der MySQL-Berechtigungssteuerung

Inhaltsverzeichnis MySQL-Berechtigungskontrolle B...

So konfigurieren Sie nginx+php+mysql in Docker

Verstehen Sie zunächst eine Methode: Aufrufen ein...

So begrenzen Sie die Anzahl der Datensätze in einer Tabelle in MySQL

Inhaltsverzeichnis 1. Lösung auslösen 2. Partitio...

So installieren Sie Grafana und fügen Influxdb-Überwachung unter Linux hinzu

Installieren Sie Grafana. Die offizielle Website ...

Detaillierte Erklärung der verschiedenen Verwendungen von proxy_pass in nginx

Inhaltsverzeichnis Proxy-Weiterleitungsregeln Der...

Zusammenfassung der Verwendung von berechneten Vue-Eigenschaften und -Listenern

1. Berechnete Eigenschaften und Listener 1.1 Bere...

Vue-Direktiven v-html und v-text

Inhaltsverzeichnis 1. Anweisungen zum Rendern von...

Schwebendes Menü, kann einen Bildlaufeffekt nach oben und unten erzielen

Der Code kann noch weiter optimiert werden. Aus Z...

XHTML-Tags sollten richtig verwendet werden

<br />In früheren Tutorials von 123WORDPRESS...