Vorwort Bei der Verwendung einer MySQL-Datenbank ist es häufig erforderlich, die Datenbank zu sichern und wiederherzustellen. Die einfachste und bequemste Methode besteht darin, die Sicherung und Wiederherstellung durch Exportieren und Importieren von SQL-Datendateien durchzuführen. Mit zunehmendem Umfang des Projekts wird die Datenmenge jedoch immer größer, und jede Wiederherstellung wird zu einem Problem. Als ich kürzlich eine 5 GB große Datenbank aus einem Projekt heruntergeladen und lokal wiederhergestellt habe, dauerte dies 40 bis 50 Minuten. Angesichts der zukünftigen Datenerweiterung wird die Datenmenge zunehmen und die Wiederherstellungskosten steigen. Daher habe ich einige Informationen nachgeschlagen und festgestellt, dass Sie Ihre Wiederherstellungseffizienz durch die folgenden Einstellungen verbessern können. 1. Backup-Parameter ändern Zunächst müssen wir unsere Wiederherstellungseffizienz verbessern, indem wir die Parameter beim Sichern der Datenbank ändern. mysqldump --extended-insert Der Parameter --extended-insert von mysqldump gibt das Batch-Einfügen an, wodurch mehrere Einfügeanweisungen zu einer Anweisung zusammengeführt werden. Die Effizienz des Sicherungsimports ist drei- bis viermal höher als bei nicht aktiviertem --extended-insert. Die mit --extended-insert=false exportierten SQL-Dateidaten sehen so aus, mit einer Insert-Anweisung pro Zeile, und die Ausführungseffizienz ist sehr gering Die mit --extended-insert=true exportierte Tabelle sieht wie in der folgenden Abbildung aus. Eine sehr lange Insert-Anweisung wird stapelweise eingefügt. 2. Passen Sie die MySQL-Schnelleinfügeparameter an Wenn Ihre Datenbank-Speicher-Engine MYISAM ist, können Sie diesen Parameter auf 512 M oder 256 M setzen. MyISAM verwendet einen speziellen Baumcache, um schnellere Batch-Einfügungen durchzuführen. Zugehörige Dokumentation: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_bulk_insert_buffer_size Der Standardwert ist 8M = 8388608byte Überprüfen Sie die Größe des Einfügepuffers VARIABLEN WIE „%bulk%“ ANZEIGEN; Einfügepuffergröße festlegen (global) GLOBAL festlegen bulk_insert_buffer_size =1024*1024*512; Legen Sie die Einfügepuffergröße fest (Sitzung). Setzen Sie bulk_insert_buffer_size =1024*1024*256; Wenn Sie den Wert festlegen müssen, der beim Neustart von MySQL beibehalten werden soll, müssen Sie diese Konfiguration zu my.cnf hinzufügen [mysqld] bulk_insert_buffer_size = 256M 3. Schließen Sie den Prüfposten Für die Innodb-Engine können wir einige Systemprüfungen deaktivieren, um eine schnellere Einfügelösung zu erreichen. //Autocommit deaktivieren SET autocommit=0; // Eindeutigkeitsprüfung deaktivieren set unique_checks = 0; //Fremdschlüsselprüfungen deaktivieren SET foreign_key_checks=0; // Aktivieren Sie den Parameter --extended-insert beim Sichern Verwandte Dokumente zum Laden von Innodb-Massendaten: https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html 4. Üben Nach der oben genannten Optimierung wird sich Ihre MySQL-Wiederherstellungseffizienz sofort verbessern. Vor der oben genannten Parameteroptimierung dauerte die Wiederherstellung der Datenbank jedes Mal 40 Minuten. Nach der Einstellung dauert es nur etwa 16 Minuten. Die Dateikapazität meiner Datenbank beträgt etwa 5 GB. Das ist fürs Erste alles. Wenn Sie bessere Lösungen und Vorschläge für den Tiguan haben, können Sie diese gerne mit mir besprechen. Viel Spaß beim Programmieren. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Beispiele für die Verwendung von Docker und Docker-Compose
>>: Eine kurze Diskussion über das Prinzip des bidirektionalen Ereignisbindungs-V-Modells von Vue
So verwenden Sie CSS, um die Bogenbewegung von El...
Haftungsausschluss: Mit dieser Methode zum Zurück...
Die Verwendung von CI zum Erstellen von Docker-Im...
Domänenübergreifende Lösungen jsonp (get simulier...
1. Fügen Sie am Anfang des Stylesheets einen Komme...
Folgende Funktionen sind implementiert: 1. Benutz...
Viele fragen sich vielleicht: Muss der Text auf d...
var numA = 0,1; var numB = 0,2; Alarm (Zahl A + Z...
Im Vergleich zu gewöhnlichen Programmen haben dyn...
Umgebung: (Docker, K8s-Cluster), fahren Sie mit d...
Wenn Komponenten detaillierter werden, treten Sit...
Docker installiert MySQL Docker-Suche MySQL. Such...
Inhaltsverzeichnis Schnellstart Anwendung Grundpr...
Zunächst die Struktur innerhalb des Nginx-Contain...
In diesem Artikel wird die Installations- und Kon...