【问题标题】:Set MySQL conf in JDBC Input plugin in Logstash在 Logstash 的 JDBC Input 插件中设置 MySQL conf
【发布时间】:2018-10-25 17:24:38
【问题描述】:

我正在使用logstash 中的JDBC Input plugin 来索引基于MySQL queries 的数据。

我能够成功地索引数据并获得输出,但是,我被困在了这里。

我的一个查询需要设置group_concat_max_len。有没有办法在输入插件本身中适应这个?因为我想避免在全局级别设置它。

我针对不同的输入参数参考了this site,但没有解决我的问题

这是我的示例输入插件:

input{
    jdbc{
        jdbc_connection_string=>"hostname"
        jdbc_user=>"user"
        jdbc_password=>"password"
        jdbc_driver_library=>"path/to/library"
        jdbc_driver_class=>"com.mysql.jdbc.Driver"
        lowercase_column_names => "false"
        statement_filepath => "query.sql"
    }

}

我也尝试在 query.sql 文件中进行设置,但看起来应该只存在一个查询。

感谢您的帮助!

【问题讨论】:

  • 全局级别不需要设置,只需要会话级别:stackoverflow.com/a/35605938/4604579
  • 感谢您指出问题。我不知道我们可以在connection string 中添加sessionVariables 参数
  • 很高兴它有帮助!

标签: mysql elasticsearch jdbc logstash


【解决方案1】:

如果您使用的是 docker-compose,只需在容器中设置此变量即可。

version: '2.1'

services:
  db:
    image: mysql
    environment:
     - MYSQL_USER=root
     - MYSQL_PASSWORD=
     - MYSQL_DATABASE=mydb
     - MYSQL_ROOT_PASSWORD=
     - MYSQL_ROOT_PASSWORD=root
    command: --group_concat_max_len=65535
    ports:
      - "3306:3306"

在您的数据库中检查它: 选择@@GLOBAL.group_concat_max_len;

【讨论】:

    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2016-09-22
    • 1970-01-01
    相关资源
    最近更新 更多