kettle与MySQL数据库建立连接教程
1、下载mysql8.0的jar驱动
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.28
2、将下载好的mysql的驱动放到kettle安装文件中的lib下面,然后重启Spoon
3、建立连接的两种方式
第一种方式:数据库连接类型选择Generic Database
自定义连接URL填入:
jdbc:mysql://192.168.173.100:3306/test? useSSL=false
(注:192.168.173.100是MySQL服务器地址,3306是MySQL开放端口,test是要连接的数据库名称)
自定义驱动类名称填入:com.mysql.cj.jdbc.Driver
第二种方式:在kettle的安装目录下data-integration\simple-jndi\jdbc.properties加入jdbc的连接信息
MYSQL8_DB/type=javax.sql.DataSource
MYSQL8_DB/driver=com.mysql.cj.jdbc.Driver
MYSQL8_DB/url=jdbc:mysql://localhost:3306/test? useSSL=false
MYSQL8_DB/user=root //(用户名)
MYSQL8_DB/password=**** //(对应的用户密码)
连接数据库方式选择mysql连接,连接方式选择JNDI,JNDI名称填写MYSQL8_DB
点击测试之后可看到如下图信息则连接成功
问题讨论:
连接过程出现报错:Error connecting to database: (using class com.mysql.cj.jdbc.Driver)
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
这时我们可以查看主机服务器端口是否开放,未开放的话,如果是在学习测试的环境下,关闭防火墙即可解决问题;也可以通过配置防火墙来进行端口的开放,方法如下
接着配置防火墙
#开放端口3306(add为添加,remove为移除)
firewall-cmd --zone=public –add/remove-port=3306/tcp --permanent
# 并重载入添加的端口:
firewall-cmd --reload
# 再次查询端口开放情况,确定3306开放
firewall-cmd --zone=public --list-ports
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341