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

Logstash không đọc trong các mục nhập mới từ MySQL

Theo mặc định, plugin logstash-input-jdbc sẽ chạy câu lệnh SELECT của bạn một lần rồi thoát. Bạn có thể thay đổi hành vi này bằng cách thêm schedule tham số với biểu thức cron cho cấu hình của bạn, như sau:

input {
 jdbc {
   jdbc_driver_library => "C:/logstash/lib/mysql-connector-java-5.1.37-bin.jar"
   jdbc_driver_class => "com.mysql.jdbc.Driver"
   jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test"
   jdbc_user => "root"
   jdbc_password => ""
   statement => "SELECT * FROM transport.audit"
   schedule => "* * * * *"               <----- add this line
   jdbc_paging_enabled => "true"
   jdbc_page_size => "50000"
 }
}

Kết quả là câu lệnh SELECT bây giờ sẽ chạy mỗi phút.

Nếu bạn có trường ngày trong bảng MySQL của mình (nhưng có vẻ như không đúng), bạn cũng có thể sử dụng sql_last_start được xác định trước để không lập chỉ mục lại tất cả các bản ghi trong mỗi lần chạy. Tham số đó có thể được sử dụng trong truy vấn của bạn như sau:

   statement => "SELECT * FROM transport.audit WHERE your_date_field >= :sql_last_start"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giải pháp DBaaS tốt nhất cho MySQL

  2. MySQL JOIN và COUNT trong một truy vấn

  3. php cách liên kết một tệp từ máy chủ tệp với thông tin đó từ cơ sở dữ liệu

  4. Đệ quy Mysql?

  5. Làm cách nào để nhập tệp sql vào cơ sở dữ liệu bỏ qua các dòng X trong tệp?