sql >> データベース >  >> RDS >> Mysql

LogstashがMySQLから新しいエントリを読み込まない

    デフォルトでは、logstash-input-jdbcプラグインはSELECTステートメントを1回実行してから、終了します。この動作を変更するには、<を追加します。 code>スケジュール パラメータ 次のように、構成にcron式を使用します:

    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"
     }
    }
    

    その結果、SELECTステートメントが毎分実行されるようになります。

    MySQLテーブルに日付フィールドがある場合(ただし、そうではないようです)、事前定義された sql_last_startを使用することもできます。 実行ごとにすべてのレコードのインデックスを再作成しないようにするためのパラメータ。このパラメータは、次のようにクエリで使用できます。

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



    1. Dockerを使用して、PANICをトリガーしたもの:有効なチェックポイントレコードを見つけることができませんでした

    2. SQLiteの日付から年を引く

    3. 小枝を使用してデータベースからエンティティアドレスをレンダリングしようとしています

    4. MySQLからBigQueryにデータを移行するためのベストプラクティス