问题描述:
今天在用datax进行数据数据同步时候报错了,报错内容如下:
异常Msg:DataX无法连接对应的数据库,可能原因是:1) 配置的ip/port/database/jdbc错误,无法连接。2) 配置的username/password错误,鉴权失败。请和DBA确认该数据库的连接信息是否正确。
java.lang.Exception: DataX无法连接对应的数据库,可能原因是:1) 配置的ip/port/database/jdbc错误,无法连接。2) 配置的username/password错误,鉴权失败。请和DBA确认该数据库的连接信息是否正确。
解决问题的过程:
1、根据报错信息我首先检查了,端口、IP、数据库账号、密码,发现并没有错。
2、检查了数据库的防火墙权限,也没有什么问题。
3、查阅相关资料,怀疑是驱动问题,然后将/opt/datax/plugin/reader/mysqlreader/libs
这个目录下,删除掉低版本的mysql驱动版本,替换为:mysql-connector-java-8.0.*.jar,问题依旧没有解决。
于是我又重新仔细看了一下报错信息,发现具体错误信息为:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
怀疑是否是我的配置文件我的json配置文件出错。
"jdbcUrl": ["jdbc:mysql://***:3306/***?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=false"]
这个jdbc配置最后面加上&useSSL=false
搞定