Nếu cả ứng dụng và máy chủ cơ sở dữ liệu đều nằm trên cùng một máy, bạn có thể thiết lập trình kích hoạt trong MySQL để ghi ra tệp nhật ký SAU KHI CHÈN, CẬP NHẬT và sau đó tạo FileSystemWatcher để xem tệp nhật ký đó. FileSystemWatcher sẽ kích hoạt sự kiện khi tệp được thay đổi mà ứng dụng của bạn có thể phản ứng.
Trình kích hoạt có thể trông giống như sau:
create trigger MyTable_Monitor
after insert, update on MyTable
for each row
begin
select * from new into outfile "path/to/table.log"
end
Một vấn đề mà tôi thấy với đoạn mã trên là không thể nối tệp ra (tốt nhất là tôi có thể nói), vì vậy bạn có thể gặp sự cố nếu có nhiều truy vấn được thực thi trong một lệnh gọi (hoặc thậm chí nhiều truy vấn được thực thi đồng thời bởi các máy khách khác nhau). Mọi đề xuất để cải thiện đều được hoan nghênh.