phpbar.de logo

Mailinglisten-Archive

Mehre Log-Files parallel ?

Mehre Log-Files parallel ?

Michael Donning mysql-de_(at)_lists.bttr.org
Mon, 2 Sep 2002 14:06:02 +0200


Hallo Alex,

> -----Original Message-----
> From: Alexander Safaric [mailto:a.safaric_(at)_ecc-handel.de]
> Folgende Frage an Euch: Ist es auf einem MySQL-Server, auf dem mehre
> Datenbanken betrieben werden, möglich, verschiedene Log-Files gleichzeitig
> zu betreiben, z.B. die Standard Log-File für alle Datenbanken und eine
> zusätzliche Log-File nur für zwei spezielle Datenbanken?

Mir ist keine diesbezügliche Option bekannt. Man könnte natürlich für jeden
Kunden eine eigene Serverinstanz starten (mit eigenem Port & Lockfile). Aber
das ist sicherlich auch nicht erwünscht, ist auch nicht gerade
Speichereffektiv.

Was mir dazu einfällt ist, daß man das Log-File nachträglich splittet. D.h.
daß zyklisch (cron) ein "flush logs" ausführt. Dann mit mysqlbinlog -s das
Binary log in Textform bringt. Und die Textdatei dann durch einen Parser
jagt, der die Datei abhängig von der jeweilig verwendeten Datenbank
aufteilt.

In der Textdatei steht vor jedem Statement, bzw vor jeder Gruppe von
Statements für eine DB eine Zeile mit "use <dbname>;" anhand derer man die
Datenbank identifizieren kann.

Ein Nachteil ist natürlich, daß die Logs nicht direkt in der gewünschten
Splittung vorliegen, sondern erst nach einem gewissen Zeitraum (der Abstand
in dem die Logs gewandelt werden, z.B. alle Minute).

Ein weiterer Nachteil ist, daß falls ein Kunde Zugriff auf mehrere
Datenbanken hat, so nicht erkannt wird, wenn Datenbankübergreifende Aktionen
geloggt werden (Datenbankprefix vor Tabellenname).

Gruss,
Michael Donning

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive