MySQL slow_log-Tabelle kann nicht in InnoDB-Engine geändert werden – detaillierte Erklärung

MySQL slow_log-Tabelle kann nicht in InnoDB-Engine geändert werden – detaillierte Erklärung

Hintergrund

Das Abrufen des langsamen Abfrageprotokolls von mysql.slow_log ist langsam, die Tabelle ist eine CSV-Tabelle und hat keinen Index.

Ich möchte einen Index hinzufügen, um den Zugriff zu beschleunigen, aber die CSV-Engine kann keine Indizes hinzufügen (die CSV-Engine speichert durch Kommas getrennten Text). Daher kann ich nur die Speicher-Engine ändern, um Indizes hinzuzufügen.

Die Tabelle mysql.slow_log kann in myisam geändert werden, jedoch nicht in innodb

mysql> globales slow_query_log=off festlegen;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

mysql> Tabelle ändern mysql.slow_log engine=innodb;
FEHLER 1579 (HY000): Diese Speicher-Engine kann nicht für Protokolltabellen verwendet werden"
mysql> Tabelle ändern mysql.slow_log engine=myisam;
Abfrage OK, 33760 Zeilen betroffen (0,37 Sek.)
Datensätze: 33760 Duplikate: 0 Warnungen: 0

mysql.general_log kann nicht in innodb geändert werden

mysql> Tabelle ändern mysql.general_log engine=myisam;
Abfrage OK, 242956 Zeilen betroffen (2,41 Sek.)
Datensätze: 242956 Duplikate: 0 Warnungen: 0

mysql> Tabelle ändern mysql.general_log engine=innodb;
FEHLER 1579 (HY000): Diese Speicher-Engine kann nicht für Protokolltabellen verwendet werden"

Offizielle Dokumentation

Laut der offiziellen Dokumentation unterstützt die Protokolltabelle nur die CSV-Engine und die MyISAM-Engine.

Warum wird die InnoDB-Engine nicht unterstützt?

Auf welcher Grundlage erwägen Sie, InnoDB-Tabellen nicht zu unterstützen?

Fragte einen Freund

Ich vermute, dass die Protokolltabellen-Engine eine Menge Redo- und Undo-Ressourcen verbraucht.

Dies ist nicht notwendig. . . Diese Daten sind nicht wichtig. .

Speicher-Engine für Änderungsprotokolltabellen

SET @old_log_state = @@global.general_log;
GLOBAL festlegen general_log = "AUS";
ALTER TABLE mysql.general_log ENGINE = MyISAM;
SETZEN SIE GLOBAL general_log = @old_log_state;

Archivprotokolltabelle

VERWENDEN Sie MySQL;
Tabelle löschen, wenn general_log2 vorhanden ist;
Tabelle general_log2 erstellen wie general_log;
UMBENENNEN SIE DIE TABELLE general_log IN general_log_backup, general_log2 IN general_log;

siehe

Auswählen der Ausgabeziele für das allgemeine Abfrageprotokoll und das langsame Abfrageprotokoll

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:
  • Erläuterung der Konfiguration und Verwendung der MySQL-Speicher-Engine InnoDB
  • Zusammenfassung der Unterschiede zwischen den MySQL-Speicher-Engines MyISAM und InnoDB
  • Ein tiefer Einblick in die MySQL InnoDB-Speicher-Engine
  • Detaillierte Erläuterung des Index und der Speicherstruktur der MySQL InnoDB-Engine
  • Ändern Sie die MySQL-Datenbank-Engine in InnoDB

<<:  Vue3.0+vite2 implementiert dynamisches asynchrones Lazy Loading von Komponenten

>>:  Zusammenfassung häufig verwendeter Befehle für Linux-Dateioperationen

Artikel empfehlen

Analyse des Prinzips der Verwendung von PDO zur Verhinderung von SQL-Injection

Vorwort Dieser Artikel verwendet die Vorverarbeit...

Installations- und Nutzungsprotokoll von VMware ESXi (mit Download)

Inhaltsverzeichnis 1. Installieren Sie ESXi 2. ES...

Der Unterschied zwischen HTML-Iframe und Frameset_PowerNode Java Academy

Einführung 1. <iframe>-Tag: Ein Iframe ist ...

Beispiel für die Einrichtung eines mehrspaltigen Layouts gleicher Höhe mit CSS

Mehrere Spalten haben zunächst unterschiedliche I...

Über die praktische Anwendung von HTML-Mailto (E-Mail) sprechen

Wie wir alle wissen, ist „mailto“ ein sehr praktis...

Detaillierte Erklärung des Parameters slave_exec_mode in MySQL

Heute habe ich zufällig den Parameter slave_exec_...

Docker+Selenium-Methode zur Realisierung automatischer Gesundheitsberichte

In diesem Artikel wird das Gesundheitsmeldesystem...

Beispielcode zur Implementierung sechseckiger Rahmen mit CSS3

Die äußerste BoxF dreht sich um 120 Grad, die zwe...

Detaillierter Prozess der Vue-Front-End-Verpackung

Inhaltsverzeichnis 1. Verpackungsbefehl hinzufüge...

33 Eis- und Schnee-Schriftarten zum Download empfohlen (privat und kommerziell)

01 Winterflocken (nur einzeln) 02 Snowtop Caps (k...

MySQL-Reihe: Datenbankdesign, drei Paradigmen, Tutorial-Beispiele

Inhaltsverzeichnis 1. Wissensbeschreibung der dre...

Spezifische Verwendung interner temporärer MySQL-Tabellen

Inhaltsverzeichnis UNION Tabelleninitialisierung ...

Teilen Sie einen auf Ace basierenden Markdown-Editor

Ich denke, Editoren lassen sich in zwei Kategorie...

Detaillierte Beispiele für die Ausführung von Zabbix-Remotebefehlen

Inhaltsverzeichnis eins. Umfeld zwei. Vorsichtsma...