Heim  >  Artikel  >  Datenbank  >  Ausführliche Erklärung zum Vergleich und zur Verwendung von mydumper und mysqldump in MySQL

Ausführliche Erklärung zum Vergleich und zur Verwendung von mydumper und mysqldump in MySQL

小云云
小云云Original
2018-01-17 10:42:252384Durchsuche

In diesem Artikel wird hauptsächlich der Vergleich und die Verwendung von mydumper und mysqldump in MySQL erläutert. Das MySQL-Datenbank-Backup-Tool verfügt über ein eigenes MySQL-Backup-Tool, das ein offizielles Backup-Tool von MySQL ist. Allerdings wird das Drittanbieter-Backup-Tool mydumper aufgrund seiner überlegenen Funktionen von mehr Menschen verwendet. Als nächstes werden wir die Backup-Effizienz zwischen ihnen durch Tests überprüfen.

Wenn Sie nur ein paar Tabellen oder eine einzelne Bibliothek sichern, sind mysqldump und mydumper praktischer als innobackup, aber mydumper fügt relativ viele Funktionen hinzu, wie z. B. Multi-Thread-Backup, regelmäßige Matching-Backups, Gruppierung und Self-Backup. Darüber hinaus exportieren mydumper und mysqldump im Wesentlichen dieselben logischen Daten und unterstützen kein Online-Hot-Backup innodb. Natürlich können wir auch innobackup zum Sichern einiger Tabellendaten verwenden, es handelt sich jedoch nicht um dieselbe Sicherungsmethode wie mydumper und mysqldump, also Folgendes: Testen Sie nur die Verwendung zwischen mydumper und mysqldump.

Mydumper-Export

Verwenden Sie das Mydumper-Tool, um Testdaten (9.4G) zu exportieren 8 Threads und komprimieren Sie sie wie folgt. Wie 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 Bibliothek als zwei Dateien gespeichert: Tabellendefinition und Daten.

Die Gesamtausführungszeit ist wie folgt: Es dauerte insgesamt 123 Sekunden


# cat metadata 
Started dump at: 2017-05-19 10:48:00
SHOW MASTER STATUS:
  Log: mysql-bin.000406
  Pos: 2165426
  GTID:(null)

SHOW SLAVE STATUS:
  Host: 10.144.127.4
  Log: mysql-bin.000419
  Pos: 506000361
  GTID:(null)

Finished dump at: 2017-05-19 10:50:03

mysqldump-Export

Verwenden Sie das Standardtool mysqldump, um die Bibliothek zu exportieren und zu komprimieren, wie unten gezeigt:


# time mysqldump -B test -E -R -h 10.0.21.5 -u root -P 3301 -p | gzip >/data/test.sql.gz
Enter password: 

real  3m19.805s
user  4m47.334s
sys 0m10.395s

real Eine Zeile zeigt die gesamte Laufzeit von mysqldump ist 199,8s

Zusammenfassung

Im Großen und Ganzen ist der Zeitunterschied zwischen mysqldump und mydumper nicht groß Wenn die Bibliothek groß genug ist, können die Vorteile von mydumper berücksichtigt werden. Aufgrund der Syntaxänderungen in höheren Versionen von MySQL kann die Version von mydumper außerdem zu Exportfehlern führen Fehler:


** (mydumper:18758): CRITICAL **: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' 
at line 1 (1064)

Um dieses Problem zu lösen, können Sie Folgendes verwenden: Für höhere Versionen von mydumper können Sie dies tun, wenn dieses Problem in höheren Versionen immer noch auftritt Lesen Sie den offiziellen Github-Code, um entsprechende Codeänderungen vorzunehmen:

Mydumper-Installationsdetails

Detaillierte Einführung in das Prinzip von mydumper

Einführung in die Verwendung des MySQL-Datenbank-Backup-Tools Mydumper

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Vergleich und zur Verwendung von mydumper und mysqldump in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn