1 MySQL5.6 1.1 Verwandte Parameter MySQL 5.6 fügt drei Parameter hinzu: innodb_undo_directory, innodb_undo_logs und innodb_undo_tablespaces, die das Undo-Protokoll von ibdata1 verschieben und separat speichern können.
Standardparameter: mysql> Variablen wie „%undo%“ anzeigen; +-------------------------+----------+ | Variablenname | Wert | +-------------------------+----------+ | innodb_undo_verzeichnis | . | | innodb_undo_logs | 128 | | innodb_undo_tablespaces | 0 | +-------------------------+----------+
Die Initialisierung der Instanz besteht in der Änderung von innodb_undo_tablespaces: mysql_install_db ...... --innodb_undo_tablespaces $ ls ... undo001 undo002 undo003
1.2 Nutzung Bevor wir die Instanz initialisieren, müssen wir nur den Parameter innodb_undo_tablespaces festlegen (empfohlen größer oder gleich 3), um das Undo-Protokoll in einem separaten Undo-Tablespace einzurichten. Wenn Sie das Undo-Protokoll auf einem schnelleren Gerät speichern müssen, können Sie den Parameter innodb_undo_directory festlegen. Im Allgemeinen tun wir dies jedoch nicht, da SSDs mittlerweile sehr beliebt sind. innodb_undo_logs kann standardmäßig auf 128 gesetzt werden. Undo-Protokolle können außerhalb von ibdata gespeichert werden. Aber diese Funktion ist immer noch nutzlos:
1.3 Testen großer Transaktionen mysql> Tabelle test.tbl erstellen (ID int Primärschlüssel auto_increment, Name varchar (200)); Abfrage OK, 0 Zeilen betroffen (0,03 Sek.) mysql> Transaktion starten; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> in test.tbl(Name) Werte einfügen(Wiederholung('1',00)); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> in test.tbl(Name) einfügen, Namen aus test.tbl auswählen; Abfrage OK, 1 Zeile betroffen (0,00 Sek.) Datensätze: 1 Duplikate: 0 Warnungen: 0 ... mysql> in test.tbl(Name) einfügen, Namen aus test.tbl auswählen; Abfrage OK, 2097152 Zeilen betroffen (24,84 Sek.) Datensätze: 2097152 Duplikate: 0 Warnungen: 0 mysql> festschreiben; Abfrage OK, 0 Zeilen betroffen (7,90 Sek.) Beachten Sie, dass das Undolog begonnen hat, sich auszudehnen! Der Speicherplatz wird nach der Bestätigung der Transaktion nicht zurückgefordert. $ du -sh undo* 10M undo001 69M undo002 10M undo003 2 Mysql5.7 5.7 führt Online-Truncate-Undo-Tablespace ein 2.1 Verwandte Parameter Notwendige Voraussetzungen:
Startparameter:
2.2 Reinigungsprozess
2.3 Leistungsempfehlungen Die einfachste Möglichkeit, Leistungseinbußen beim Abschneiden eines Tablespaces zu vermeiden, besteht darin, die Anzahl der Undo-Tablespaces zu erhöhen. 2.4 Testen großer Transaktionen Konfigurieren Sie 8 Undo-Tablespaces, innodb_purge_rseg_truncate_frequency=10 mysqld --initialisieren … --innodb_undo_tablespaces=8 Testen beginnen mysql> globale Variablen wie „%undo%“ anzeigen; +--------------------------+------------+ | Variablenname | Wert | +--------------------------+------------+ | innodb_max_undo_log_size | 1073741824 | | innodb_undo_verzeichnis | ./ | | innodb_undo_log_truncate | EIN | | innodb_undo_logs | 128 | | innodb_undo_tablespaces | 8 | +--------------------------+------------+ mysql> wähle @@innodb_purge_rseg_truncate_frequency; +----------------------------------------+ | @@innodb_purge_rseg_truncate_frequency | +----------------------------------------+ | 10 | +----------------------------------------+ wählen Sie @@innodb_max_undo_log_size; +----------------------------+ | @@innodb_max_undo_log_size | +----------------------------+ |10485760| +----------------------------+ mysql> Tabelle test.tbl erstellen (ID int Primärschlüssel auto_increment, Name varchar (200)); Abfrage OK, 0 Zeilen betroffen (0,03 Sek.) mysql> Transaktion starten; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> in test.tbl(Name) Werte einfügen(Wiederholung('1',00)); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> in test.tbl(Name) einfügen, Name aus test.tbl auswählen; Abfrage OK, 1 Zeile betroffen (0,00 Sek.) Datensätze: 1 Duplikate: 0 Warnungen: 0 ... mysql> in test.tbl(Name) einfügen, Namen aus test.tbl auswählen; Abfrage OK, 2097152 Zeilen betroffen (24,84 Sek.) Datensätze: 2097152 Duplikate: 0 Warnungen: 0 mysql> festschreiben; Abfrage OK, 0 Zeilen betroffen (7,90 Sek.) Der Undo-Tablespace wird nach der Erweiterung auf über 100 MB erfolgreich wiederhergestellt.
3 Referenz https://dev.mysql.com/doc/ref... 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:
|
>>: Zusammenfassung zum Hinzufügen von Root-Berechtigungen für Benutzer in Linux
Inhaltsverzeichnis Vorwort Szenarien für die Verw...
Artikelstruktur 1. Vorbereitung 2. Installieren S...
Da meine lokale MySQL-Version relativ niedrig ist...
Array-Methoden JavaScript bietet viele Array-Meth...
HTML und CSS 1. Verständnis und Kenntnisse von WE...
Hintergrund Haben Sie sich jemals gefragt, wie Si...
In diesem Artikel wird der spezifische JavaScript...
Diese Geschichte beginnt heute mit einer unerwarte...
So erhalten Sie den Container-Startbefehl Der Con...
Das obere Bild zeigt die Systemzeit und das unter...
1. Herunterladen https://dev.mysql.com/downloads/...
Dieser Artikel bezieht sich auf die Arbeit des 51...
Die React-Version beim Schreiben dieses Artikels ...
CSS-Vars-Ponyfill Bei der Verwendung von CSS-Vari...
MySQL ist ein relationales Datenbankverwaltungssy...