Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lắng nghe các thay đổi cơ sở dữ liệu trong MySQL

Chà, không hoàn toàn là không thể thông báo cho khách hàng về những thay đổi được thực hiện đối với cơ sở dữ liệu, mặc dù không có giải pháp tích hợp nào cho việc này.

Trong mysql, bạn có thể tạo các hàm do người dùng xác định (UDF) được biên dịch trong C / C ++. Những thứ này có thể mở rộng chức năng của mysql theo bất kỳ cách nào bạn muốn - chẳng hạn như gửi tin nhắn qua mạng. Bạn có thể tạo UDF của riêng mình hoặc sử dụng các thư viện có sẵn trên mysqludf.org để gửi tin nhắn qua mạng. Bạn có thể bắt đầu bằng cách sử dụng thư viện STOMP trên mysqludf.org để gửi STOMP tin nhắn. Vì STOMP là ngôn ngữ bất khả tri, bạn cũng có thể sử dụng nó từ môi trường .NET, hãy xem chủ đề SO này (nếu tìm kiếm máy chủ .net STOMP trên Internet, thì bạn sẽ tìm thấy nhiều ví dụ hơn).

Ứng dụng khách phải triển khai một máy chủ STOMP có thể nhận các thông báo STOMP từ máy chủ.

Trong cơ sở dữ liệu, bạn cần tạo một bảng đăng ký chứa thông tin mà khách hàng đăng ký cho những thông báo nào và cách kết nối với nó (tối thiểu là địa chỉ IP / tên máy chủ và số cổng).

Bạn cũng cần tạo trình kích hoạt trên tất cả các bảng và sự kiện mà bạn muốn gửi thông báo.

Tôi cũng sẽ tạo một thủ tục hoặc hàm được lưu trữ để nhận dữ liệu đã sửa đổi hoặc thực tế là bảng nhất định đã được thay đổi từ các trình kích hoạt, kiểm tra bảng đăng ký, tạo thông báo STOMP và sau đó gọi UDF đã biên dịch gửi thông báo STOMP đến tất cả khách hàng đã đăng ký. Các trình kích hoạt sẽ gọi thủ tục hoặc chức năng được lưu trữ này thay vì triển khai tất cả các chức năng này trong mỗi trình kích hoạt.

Các ứng dụng khách cần được sửa đổi để xử lý thông báo và thực hiện thêm hành động hoặc nhắc nhở người dùng.

Tuyên bố từ chối trách nhiệm:Tôi không khẳng định rằng đây là giải pháp phù hợp nhất và có thể mở rộng cho trường hợp cụ thể của bạn. Tuy nhiên, bằng cách này, bạn có thể tự triển khai hệ thống thông báo mà không cần phải thăm dò ý kiến ​​cơ sở dữ liệu của mình.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phân loại mysql của số phiên bản

  2. tham gia cùng một bảng hai lần trên các cột khác nhau

  3. Lỗi MySQL:2013, Mất kết nối với máy chủ MySQL lúc 'đang đọc gói giao tiếp ban đầu', lỗi hệ thống:0

  4. Cách giới hạn các từ nhưng không phải định nghĩa bằng cách sử dụng mysql

  5. Nối hai bảng trong MySQL, chỉ trả về một hàng từ bảng thứ hai