MySQL bekommt Audit-Funktionen
Im aktuellen Entwicklungszweig von MySQL gibt es eine Auditing-API. Sie stellt das Grundgerüst für Plug-ins zur Protokollierung von SQL-Abfragen bereit.
- Christian Kirsch
Wer wann was in der Datenbank geändert hat, muss für viele Unternehmen jederzeit zu ermitteln sein. Deshalb enthalten kommerzielle Produkte wie DB2, Oracle, SQL Server und Informix solche Auditing-Funktionen. Auch das freie MySQL soll in Zukunft in dieser Liga mitspielen: In der Entwicklerversion 5.5.4-m3 findet sich eine Audit-API von Anders Karlsson für die Anbindung von Plug-ins. Ereignisse, die MySQL in seinen General Query Log schreiben würde, lösen den Aufruf einer Plug-in-Funktion aus. Dies geschieht unabhängig davon, ob der General Query Log eingeschaltet ist oder nicht.
Die zentrale Auditing-Funktion bekommt als Parameter Zeiger auf ein threadabhängiges THD
-Objekt und auf eine mysql_event
-Struktur übergeben. Daraus lassen sich unter anderem der Text der SQL-Abfrage und Details der MySQL-Connection ermitteln. Ein Audit-Plug-in kann dadurch etwa je nach Statement, Anwender oder Client-Rechner anders reagieren. Die THD-Daten erlauben Karlsson zufolge den Zugriff auf wesentlich mehr Informationen als der General Query Log bereitstellt. Noch ist die API allerdings schlecht dokumentiert, Interessenten verweist der Autor auf den bei Launchpad verfügbaren Quellcode.
(ck)