sql >> Database teknologi >  >> RDS >> Mysql

Overvåg MySQL-indsatser fra forskellige applikationer

Jeg tror, ​​du kunne opnå noget som dette ret nemt, forudsat at du ikke havde noget imod at oprette nogle ekstra tabeller og triggere på din database, og at overvågnings-java-applikationen ville skulle polle databasen i stedet for specifikt at modtage triggere.

Hvis du antager, at den tabel, du vil overvåge, er sådan her:

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

Derefter opretter du en tabel for at spore ændringerne, og en trigger, der udfylder denne tabel:

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

Dette vil medføre, at tabellen InsertedRecords bliver udfyldt med hver indsættelse, der sker i ToMonitor.

Så skal du bare konfigurere din overvågningsapp til periodisk at SELECT * from InsertedRecords , tag den relevante handling og ryd derefter posterne fra InsertedRecords

EDIT:Et lille alternativ, hvis du ikke havde noget imod en smule C/C++-kodning, ville være at følg instruktionerne her at oprette en brugerdefineret SQL-funktion, der satte din overvågningsapplikation i gang, og så bare kalde den SQL-funktion fra den trigger, du havde oprettet.



  1. Fix:"den førende præcision af intervallet er for lille" i Oracle Database

  2. SQL Server Collection Inventory Script -2

  3. Sådan nulstilles MySQL eller MariaDB Root Password i Linux

  4. Udefineret egenskab:Illuminate\Database\Eloquent\Collection::Laravel 5.2