com.mysql.jdbc.Driver未加载。您确定在:jdbc_driver_library中包含正确的jdbc驱动程序

Jun*_*ari 5 java mysql logstash elastic-stack

我正在获取Logstash的Java版本和mysql-connect-java.jar兼容性问题。

谁能告诉我哪个版本的mysql-connect-java.jar与哪个版本的Java兼容?

错误:

com.mysql.cj.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driver_library?
Run Code Online (Sandbox Code Playgroud)

我当前的Java版本是

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用以下mysql连接器jar文件,但每个失败。

mysql-connector-java-8.0.16.jar
mysql-connector-java-8.0.15.jar
mysql-connector-java-6.0.5.jar
mysql-connector-java-5.1.46.jar
mysql-connector-java-5.1.4.jar
Run Code Online (Sandbox Code Playgroud)

Logstash配置文件是mysql.conf

input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/prbi"
        jdbc_user => "root"
        jdbc_password => ""
        jdbc_driver_library => "mysql-connector-java-8.0.15.jar" #tried above every jar
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver" #tried com.mysql.jdbc.Driver too
        schedule => "* * * * *"
        use_column_value => true
        tracking_column => "%{id}"
        clean_run => true
        statement => "SELECT * from tmp_j_summaryrepor"
    }
}
output {
    elasticsearch {
    hosts => ['http://localhost:9200']
    index => "prsummaryreport"
    document_type => "prsummaryreport"
    document_id => "%{id}" # It is a Primary Key of table
    }
    stdout { codec => json_lines } 
}
Run Code Online (Sandbox Code Playgroud)

kha*_*nna 6

对于Logstash 6.2.x及更高版本,建议在以下位置添加驱动程序:

/usr/share/logstash/logstash-core/lib/jars/
Run Code Online (Sandbox Code Playgroud)

而是保持jdbc_driver_library空虚。许多elastic.co论坛也都引用了这一点。