Reagieren auf Useraktionen

Reagieren auf Useraktionen

am 09.03.2007 12:02:18 von nusphere

Hi,

erstmal hallo an die Group. Ich hoffe hier tattkräftig meine 2 Cent
beisteuern zu können. Doch zuvor habe ich selber eine Frage.

Ich habe vor automatisiert auf bestimmte Aktionen im Arbeitsprozess zu
reagieren. Nun ersteinmal das Scenario:

Es gibt 2 Benutzeraccounts auf dem MySQL-Server.

NutzerA
NutzerB

Beide habe vollständige Rechte auf diesen Server

GRANT ALL PRIVILEGES ON *.* TO 'NutzerA'@'locahost' IDENTIFIED BY
'*********'
GRANT ALL PRIVILEGES ON *.* TO 'NutzerB'@'locahost' IDENTIFIED BY
'*********'
FLUSH PRIVILEGES

Okay alles bestens.
Nunja ... dann werfen wir mal einen Blick auf den Server und stellen
fest es gibt 1 Datenbank mit 2 Tabellen

testdb.tabelle1
testdb.tabelle2

was für mich aber wichtig ist, wer hat diese Tabellen erstellt?! Noch
besser wäre darauf zu reagieren, wenn jemand ein CREATE oder ALTER
macht, damit man dies in irgendeiner weise abfangen kann.

Ich habe schon in der "information_schema" nachgeschaut um eventuell
herrauszubekommen, wer welches Feld erstellt hat!

Ich hoffe es kann mir jemand helfen.
MfG

NuSphere

Re: Reagieren auf Useraktionen

am 09.03.2007 12:22:13 von Johannes Vogel

Hi Unbekannter

nusphere wrote:
^-- in den de.*-Gruppen legen wir Wert auf vollständige Realnamen.
> erstmal hallo an die Group. Ich hoffe hier tattkräftig meine 2 Cent
> beisteuern zu können. Doch zuvor habe ich selber eine Frage.
> was für mich aber wichtig ist, wer hat diese Tabellen erstellt?! Noch
> besser wäre darauf zu reagieren, wenn jemand ein CREATE oder ALTER
> macht, damit man dies in irgendeiner weise abfangen kann.
> Ich habe schon in der "information_schema" nachgeschaut um eventuell
> herrauszubekommen, wer welches Feld erstellt hat!

Also möchtest du gern ein Logging, was denn so gemacht wird auf dem
Server? Sieh doch mal im Manual nach, ob du fündig wirst:

5.11. MySQL Server Logs
http://dev.mysql.com/doc/refman/5.1/en/log-files.html

Oder genauer für deinen Zweck das Binary Log in Kapitel 5.11.4.

HTH, Johannes

Re: Reagieren auf Useraktionen

am 09.03.2007 13:17:07 von nusphere

Okay, das wäre ja das Logfile für sämtliche SQL-Statements.
Ein Ausparsen dieser Logdatei wäre natürlich eine Lösung, jedoch ist
dies glaube ich dem Aufwand nicht wert.

Ich habe eher an soetwas gedacht wie der Flag UploadScript für den
Pure-Ftpd

dieses Flag lässt zu das bei einem FTP-Transfer (bzw. direkt nach dem
DateiTransfer) eine Aktion ausgeführt wird.
eine Aktion im Sinne von einem Script, welches man angeben kann.

Pure-FtpD reagiert sozusagen auf das Event "FileUpload"

Ich persönlich suche eine möglichkeit auf das Event "OnStatment" für
MySQL zu reagieren, denn ein Parsen wäre glaube ich zu aufwendig.

Prinzipiell möchte ich eigentlich herrausfinden wann eine
Datenbankänderung von wem durchgeführt wurde.
Das Wann lässt sich ja herrausfinden, doch das von Wem (welcher
angemeldete User) ist leider nirgendswo verzeichnet!

Ich danke für nützliche informationen.

MfG
Sebastian

Re: Reagieren auf Useraktionen

am 09.03.2007 13:41:07 von nusphere

nocheinmal ein nachtrag dazu!

gibt es eventuell die möglichkeit dieses BinLog in eine Datenbank
umzuleiten?! Weil ich wahrscheinlich davon ausgehen muss, das ich
diese Möglichkeit die einzigste möglichkeit darstellt!

Re: Reagieren auf Useraktionen

am 09.03.2007 14:20:32 von Johannes Vogel

Hi Sebastian

Sebastian Hopfe wrote:
> nocheinmal ein nachtrag dazu!
> gibt es eventuell die möglichkeit dieses BinLog in eine Datenbank
> umzuleiten?! Weil ich wahrscheinlich davon ausgehen muss, das ich
> diese Möglichkeit die einzigste möglichkeit darstellt!

Wieso?

8.10. mysqlbinlog — Utility for Processing Binary Log Files
http://dev.mysql.com/doc/refman/5.1/en/mysqlbinlog.html

Da steht alles drin - leider ohne User.

@Andreas: Gibt's sowas in Postgresql?

HTH, Johannes

Re: Reagieren auf Useraktionen

am 09.03.2007 14:29:02 von nusphere

Hmm, hab ich leider auch gerade festgestellt, das dort keine nutzer
drin stehen.
Ich möchte dann gerne mit einem Script auf das "Event" reagieren, was
ich notgedrungen durch ein

beobachten der log datei zu erreichen versuche!

Es ist nur sehr schwer da die mittel sehr sehr beschränkt sind...

Re: Reagieren auf Useraktionen

am 09.03.2007 20:55:51 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: Reagieren auf Useraktionen

am 09.03.2007 23:15:50 von Andreas Scherbaum

Johannes Vogel wrote:
>
> 8.10. mysqlbinlog ? Utility for Processing Binary Log Files
> http://dev.mysql.com/doc/refman/5.1/en/mysqlbinlog.html
>
> Da steht alles drin - leider ohne User.
>
> @Andreas: Gibt's sowas in Postgresql?

Du hast zwar mit Sicherheit Andreas Kretschmer gemeint und er hat
dir auch schon geantwortet, aber für den Rest der Inhalte der von
dir genannten URL möchte ich noch auf Point in Time Recovery
verweisen:

http://www.postgresql.org/docs/8.2/interactive/continuous-ar chiving.html

Das Prinzip ist ähnlich: die ausgeführten Transaktionen werden auf
einem anderen Server wieder eingespielt.


Explizit für Axel: es wurde nach PG Funktionalität gefragt. Die
Msg-ID dieser Nachricht darfst du also nicht als Antwort auf meine
Frage von heute mittag verwenden.


Bye

--
Andreas 'ads' Scherbaum
Failure is not an option. It comes bundled with your Microsoft product.
(Ferenc Mantfeld)