文章目錄
- 一、報錯內容
- 二、解決方法
一、報錯內容
背景描述: 在linux安裝了datax202309
版本及datax-web2.1.2
版本,datax與datax-web默認都是mysql5.x版本的。我的數據庫是mysql8.x版本的。
在datax中執行json腳本從一個mysql導入mysql沒問題,但是在datax-web中運行腳本時一直報錯。
2025-06-26 10:48:58.136 [job-0] WARN DBUtil - test connection of [jdbc:mysql://127.0.0.1:3306/dataxweb] failed, for Code:[DBUtilErrorCode-10], Description:[連接數據庫失敗. 請檢查您的 賬號、密碼、數據庫名稱、IP、Port或者向 DBA 尋求幫助(注意網絡環境).]. - 具體錯誤信息為:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server..
2025-06-26 10:48:58.141 [job-0] ERROR RetryUtil - Exception when calling callable, 異常Msg:DataX無法連接對應的數據庫,可能原因是:1) 配置的ip/port/database/jdbc錯誤,無法連接。2) 配置的username/password錯誤,鑒權失敗。請和DBA確認該數據庫的連接信息是否正確。
java.lang.Exception: DataX無法連接對應的數據庫,可能原因是:1) 配置的ip/port/database/jdbc錯誤,無法連接。2) 配置的username/password錯誤,鑒權失敗。請和DBA確認該數據庫的連接信息是否正確。at com.alibaba.datax.plugin.rdbms.util.DBUtil$2.call(DBUtil.java:71) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.rdbms.util.DBUtil$2.call(DBUtil.java:51) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.common.util.RetryUtil$Retry.call(RetryUtil.java:164) ~[datax-common-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.common.util.RetryUtil$Retry.doRetry(RetryUtil.java:111) ~[datax-common-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.common.util.RetryUtil.executeWithRetry(RetryUtil.java:30) [datax-common-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.rdbms.util.DBUtil.chooseJdbcUrl(DBUtil.java:51) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.dealJdbcAndTable(OriginalConfPretreatmentUtil.java:92) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.simplifyConf(OriginalConfPretreatmentUtil.java:59) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.doPretreatment(OriginalConfPretreatmentUtil.java:33) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader$Job.init(CommonRdbmsReader.java:55) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.plugin.reader.mysqlreader.MysqlReader$Job.init(MysqlReader.java:37) [mysqlreader-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:673) [datax-core-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:303) [datax-core-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) [datax-core-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.core.Engine.start(Engine.java:92) [datax-core-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.core.Engine.entry(Engine.java:171) [datax-core-0.0.1-SNAPSHOT.jar:na]at com.alibaba.datax.core.Engine.main(Engine.java:204) [datax-core-0.0.1-SNAPSHOT.jar:na]
二、解決方法
因為datax與datax-web的mysql版本默認都是5.x的。而我的數據庫版本是mysql8,因此懷疑是mysql依賴版本的問題。
所以我直接把datax與datax-web的mysql版本都修改為了8.0.16,然后重新打包。最后重新部署了datax與datax-web就運行正常了。
-
datax集成mysql8參考:datax集成mysql8、datax支持mysql8
-
datax-web集成mysql8參考:datax-web集成mysql8