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
Python stellt eine Verbindung zu MySQL her, um Da...
1. Funktion : Ermöglicht der übergeordneten Kompo...
In diesem Artikel werden die Installations- und K...
Inhaltsverzeichnis Union-Abfrage 1. Fragen Sie di...
1. Wie wird die aktuelle Uhrzeit in MySQL dargest...
In diesem Artikel wird der spezifische Code für d...
Inhaltsverzeichnis Vorwort 1. Lokale Portweiterle...
Ergebnisse erzielen html <h2>CSS3-Zeitleist...
Inhaltsverzeichnis Ziel Gedankenanalyse Code-Land...
Nachdem die Tabellenbreite auf der Seite auf width...
Inhaltsverzeichnis 1 Einleitung 2 Trigger-Einführ...
Durchführung von Prozessanalysen (1) Wie rufe ich...
Inhaltsverzeichnis 1. Grundlegende Umgebungskonfi...
Lese- und Schreibvorgänge bei Angular Cookies, de...
1. Die Verwendung mit Redis führt zu Startkonflik...