kettle默认使用的是org.gjt.mm.mysql.Driver,而mysql 8.0以上connector已经不再支持这个包名;
即使将mysql-connector-java-8.0.xx.jar包拷贝到data-integration/lib目录下,还是报错找不到驱动;
所以要用jndi方法配置kettle,用com.mysql.cj.jdbc.Driver作为驱动。
com.mysql.cj.jdbc.Driver兼容JDK8环境,不兼容JDK7环境,JDK版本不匹配时连接也会出错,如果服务器上JDK版本较低 要升级下
更新jdbc.properties文件,在simple-jndi目录下,新增新增jndi配置:
Linux下则 vi data-integration/simple-jndi/jdbc.properties
Myslq8_DB/type=javax.sql.DataSource
Myslq8_DB/driver=com.mysql.cj.jdbc.Driver
Myslq8_DB/url=jdbc:mysql://db_ip:3306/db_name?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
Myslq8_DB/user=db_user
Myslq8_DB/password=db_password
db_ip、db_name、db_user、db_password这四处更新上实际的数据库参数
新建数据库连接,选择mysql数据库,选择JNDI,在JNDI名称中填入Myslq8_DB.
来源:oschina
链接:https://my.oschina.net/zhongwenhao/blog/3215014