Ein nützlicheres MySQL-Abfrageprotokoll, das für tail -f'ing geeignet ist

Ein nützlicheres MySQL-Abfrageprotokoll, das für tail -f'ing geeignet ist

Um eine Webanwendung und MySQL-Abfragen zu debuggen, habe ich das MySQL-Abfrageprotokoll aktiviert. Es ist jedoch kein sehr gutes Format zum Durchforsten und Durchsuchen. Idealerweise möchte ich nur Abfragen von einem bestimmten Benutzer oder Abfragen an eine bestimmte Datenbank anzeigen können. Wenn das MySQL-Abfrageprotokoll die Datenbank oder den Benutzer in jeder Zeile ausdrucken würde, könnte ich es durchsuchen. Manchmal möchte ich sehen, was an einem bestimmten Datum passiert ist, aber da das MySQL-Abfrageprotokoll nicht in jeder Zeile Datum und Uhrzeit ausdruckt, ist dies schwieriger.

Gibt es eine Möglichkeit, das MySQL-Abfrageprotokoll übersichtlicher zu gestalten, damit es per Tail/Grep/usw. durchsucht werden kann?

Antwort1

Sie sollten wahrscheinlich mk-query-digest verwenden – es ist wahnsinnig leistungsstark.

http://www.maatkit.org/doc/mk-query-digest.html

Antwort2

Was Sie versuchen, nämlich Abfragen für einen einzelnen Benutzer zu protokollieren, lässt sich möglicherweise einfacher erreichen durch dieMySQL-Proxy. Im Grunde handelt es sich dabei um einen Dienst, der zwischen dem MySQL-Server und den Clients sitzen kann. Es gibt viele Codebeispiele zum Protokollieren oder Bearbeiten von Daten basierend auf den von Ihnen festgelegten Kriterien.

Jedenfalls sind mir keine Tools bekannt, mit denen sich das bewerkstelligen lässt. Was Sie vielleicht tun müssen, ist, eine MySQL-Log-Parser-Bibliothek zu finden und ein Skript zu schreiben, das die Bibliothek verwendet und die gewünschten Daten extrahiert.

verwandte Informationen