如果您的表中有一个时间戳列(例如
last_updated),则最好使用它代替ID号。这样,当记录更新时,您也可以修改该时间戳,
jdbc输入插件将提取记录(即ID列不会更改其值,更新的记录也不会被提取)
input { jdbc { jdbc_connection_string => "jdbc:mysql://hostmachine:3306/db" jdbc_user => "root" jdbc_password => "root" jdbc_validate_connection => true jdbc_driver_library => "/path/mysql_jar/mysql-connector-java-5.1.39-bin.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" schedule => "* * * * *" statement => "SELECT * from mytable where last_updated > :sql_last_value" }}
如果您仍然决定使用ID列,则应删除该
$HOME/.logstash_jdbc_last_run文件,然后重试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)