解决KETTLE9 连接MYSQL 8 Error connecting to database: (using class org.gjt.mm.mysql.Driver)
1、KETTEL连接My SQL
使用KETTLE 连接MYSQL 数据库,一般步骤很简单,只需要准备好My SQL 的JDBC连接驱动;驱动下载官网地址:MySQL :: Download MySQL Connector/J (Archived Versions)(根据My SQL版本,选择合适版本的驱动);下载驱动放置于KETTL安装目录下的lib驱动库,重启KETELL。
然后,新建DB连接,选择MYSQL(Navicat方式)-> 填写主机地址、数据库、用户名、密码->测试连接,通过后确定即可;
但kettle9在常规连接mysql时出现:
错误提示大致为:
Error connecting to database: (using class org.gjt.mm.mysql.Driver) Could not create connection to database server.Error connecting to database: (using class org.gjt.mm.mysql.Driver) Could not create connection to database server. (连接到数据库时出错:(使用类org.gjt.mm.mysql.Driver)无法创建到数据库服务器的连接。org.pentaho.di.core.exception。Kettle数据库异常:尝试连接到数据库时出错连接到数据库时出o错:(使用类org.gjt.mm.mysql.Driver)无法创建到数据库服务器的连接。)
寻求可能的解决办法如:
一:MY SQL 驱动问题:
缺少mysql连接驱动,或者驱动版本问题。建议下载匹配mysql版本的驱动。驱动添加地址为:/kettle9/lib......., 以及\kettle\data-integration\lib......,重启Spoon.bat.
网络等通畅下,连接不上一般情况是驱动问题,注意检查新建DB连接的填写信息,数据库、用户名和密码等。
JDBC Driver下载地址如上文所示,或者访问我的百度网盘,里头有多种驱动。网盘地址:
链接:https://pan.baidu.com/s/15T8vLHPUNKrWDketjRkg8Q
提取码:bkf9
二:MY SQL 未设置时区导致:解决办法是登录mysql 修改时区为东八区:
mysql> set global max_allowed_packet=1024*1024;mysql> set global time_zone='+8:00';mysql>flush privileges
或者 修改my.ini文件,加入:
default-time-zone='+8:00'
再重启mysq即可连接
参考:https://blog.csdn.net/weixin_45981263/article/details/121784758
三:MY SQL 远程访问权限未开启:
该情况是数据库不允许远程连接,或者该用户未授权远程连接。
可先尝试用Navicat等数据库连接工具先连接数据库,是否能远程连接。如不可连接,远程连接配置方法为:
my sql 8以前的版本:
//(进入mysql)root# mysql -u user -ppassword //添加root(用户)远程访问权限mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //GRANT:赋权命令 //ALL PRIVILEGES:当前用户的所有权限 //ON:介词 //*.*:当前用户对所有数据库和表的相应操作权限 //TO:介词 //‘root’@’%’:权限赋给root用户,所有ip都能连接 //IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456 //WITH GRANT OPTION:允许级联赋权mysql> flush privileges;//刷新配置
my sql 8 :
mysql>mysql -u root -pPassWord mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; # 授权 //Grant all privileges on test.* to 'user'@'%'; user根据自己情况设置mysql>FLUSH PRIVILEGES; //刷新
开启用户远程访问权限后再尝试kettle连接MySQL,成功!
四:自定义连接MY SQL8 :
下载适配MySQL 8.*的连接驱动,驱动官网下载,或者上文的网盘有分享
通过自定义的URL:
jdbc:mysql://host ip:3306/nqi_access?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
自定义驱动类:
com.mysql.cj.jdbc.Driver
填写数据库信息并测试连接,连接成功!
参考:kettle连接mysql8_Michael_lcf的博客-CSDN博客_kettle连接mysql8
来源地址:https://blog.csdn.net/weixin_38241814/article/details/125928796
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341