MySQL Trigger

Gast #3148345
Lesenswert?

Hallo zusammen,

kurze und für euch sicherlich einfach zu beantwortende Frage:

Ist es möglich, mithilfe eines MySQL-Triggers ein externes Programm zu 
starten?

Beispiel: Es existiert in einer DB die Tabelle "steuerung". Der Trigger 
löst aus, sobald eine Änderung (UPDATE) der Zelle "wert" vorliegt.

Nun soll ein externes Programm starten.

Ist dies möglich?


Wenn nein, vielleicht der umgekehrte Fall:

Wie kann ich innerhalb von Linux einen "Event" / Interrupt auslösen, 
sobald innerhalb einer MySQL-Datenbank eine Änderung vorliegt, sodass 
ich eine Aktion (Programm) ausführe!?


Vielen Dank und Gruß
Persönliche Seite #3148349
Lesenswert?

Was spricht gegen regelmäßiges Pollen der Datenbank, ist das so 
Zeitkritisch? Meist passiert ein "UPDATE" auch nicht völlig zufällig, 
der Prozess welcher das Update ausführt könnte auch ein anderes Programm 
anstoßen.
Falls du unbedingt mit Triggern arbeiten willst: 
http://crazytechthoughts.blogspot.de/2011/12/call-external-program-from-mysql.html
Persönliche Seite #3148393
Lesenswert?

jk schrieb:
> Letztendlich ist Polling ja immer eine Endlosschleife.

Jedes Programm was sich nicht sofort beendet ist eine "Endlosschleife"

jk schrieb:
> Ich weiß leider nicht, wie ich prozessorschonend ein Polling hinkriege.
1
var old = ...
2
while(true) {
3
  var new = SELECT FROM ....
4
  if (old != new) {
5
    break;
6
  } else {
7
     sleep(1000 ms);
8
  }
9
}
Nach maximal einer Sekunde wirkt sich also eine Änderung aus, sind das 
Konfigurationsparamater kann man diese auch einfach anstelle in einer 
Varibalen zu speichern, einfach jedesmal neu laden wenn man sie 
benötigt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren