Heim >Datenbank >MySQL-Tutorial >Ausführliche Erklärung zum Vergleich und zur Verwendung von mydumper und mysqldump in MySQL
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-InstallationsdetailsDetaillierte Einführung in das Prinzip von mydumperEinführung in die Verwendung des MySQL-Datenbank-Backup-Tools MydumperDas 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!