數(shù)據(jù)庫驅(qū)動(dòng)問題:MySQLNonTransientConnectionException: Could not create connection to database server
作者:xcbeyond
瘋狂源自夢(mèng)想,技術(shù)成就輝煌!微信公眾號(hào):《程序猿技術(shù)大咖》號(hào)主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗(yàn),樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項(xiàng)目的研發(fā)工作,涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對(duì)于Java、微服務(wù)、數(shù)據(jù)庫、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗(yàn)。
錯(cuò)誤信息
應(yīng)用在啟動(dòng)過程中,在連接數(shù)據(jù)庫階段報(bào)錯(cuò),關(guān)鍵錯(cuò)誤信息如下:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
……
原因分析
數(shù)據(jù)庫版本與數(shù)據(jù)庫驅(qū)動(dòng)版本不一致。
即:應(yīng)用中使用的數(shù)據(jù)庫驅(qū)動(dòng)依賴包版本(mysql-connector-java),與數(shù)據(jù)庫的版本不匹配。
解決方法
確認(rèn)應(yīng)用中數(shù)據(jù)庫驅(qū)動(dòng)版本、數(shù)據(jù)庫版本分別是多少?
調(diào)整兩者的版本使其匹配。
如:MySQL版本:8.0.16
MySQL驅(qū)動(dòng):mysql-connector-java5.1.25.jar
則:更換MySQL驅(qū)動(dòng)版本:mysql-connector-java8.0.16.jar
MySQL、Java數(shù)據(jù)庫驅(qū)動(dòng)版本的對(duì)應(yīng)關(guān)系參考:https://dev.mysql.com/doc/connectors/en/connector-j-versions.html