sql >> Databasteknik >  >> RDS >> Mysql

Övervaka MySQL-inlägg från olika applikationer

Jag tror att du skulle kunna åstadkomma något sådant ganska enkelt, förutsatt att du inte hade något emot att skapa några extra tabeller och triggers på din databas, och att Java-övervakningsapplikationen skulle behöva polla databasen istället för att specifikt ta emot triggers.

Förutsatt att tabellen du vill övervaka är ungefär så här:

CREATE TABLE ToMonitor ( id INTEGER PRIMARY KEY, value TEXT );

Sedan skapar du en tabell för att spåra ändringarna, och en utlösare som fyller den tabellen:

CREATE TABLE InsertedRecords( value TEXT );
CREATE TRIGGER trig AFTER INSERT ON account
FOR EACH ROW INSERT INTO InsertedRecords( value ) VALUES ( NEW.value );

Detta kommer att göra att tabellen InsertedRecords fylls i med varje infogning som sker i ToMonitor.

Sedan behöver du bara ställa in din övervakningsapp för att periodvis SELECT * from InsertedRecords , vidta lämplig åtgärd och rensa sedan bort posterna från InsertedRecords

EDIT:Ett litet alternativ, om du inte hade något emot lite C/C++-kodning, skulle vara att följ instruktionerna här att skapa en anpassad SQL-funktion som utlöste din övervakningsapplikation och sedan bara anropa den SQL-funktionen inifrån triggern du skapade.



  1. Att få anslutningen misslyckades:php_network_getaddresses:getaddriinfo misslyckades:Namn eller tjänst okänd

  2. Få den sista dagen i månaden i PostgreSQL

  3. Enklaste sättet att kopiera en MySQL-databas?

  4. UPSERT till tabell med dynamiskt tabellnamn