JAVA——[MySQLNonTransientConnectionException:Could not create connection to database server.]解决方案
問題描述
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
問題分析
使用錯誤的MySQL驅(qū)動。
解決方案
更改JDBC的jar包
更改JDBC驅(qū)動名和連接字符串URL?
// MySQL 8.0 以下版本 - JDBC 驅(qū)動名及數(shù)據(jù)庫 URL //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; //static final String DB_URL = "jdbc:mysql://localhost:3306/xxxx";// MySQL 8.0 以上版本 - JDBC 驅(qū)動名及數(shù)據(jù)庫 URL //如果MySQL-connector-java用的6.0以上的,則driver要使用:com.mysql.cj.jdbc.Driver //private static String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; //private static String DB_URL = "jdbc:mysql://xxx.xxx.xxx.xxx:3306/xxxx?useSSL=false&serverTimezone=UTC";注:
url 需要添加時區(qū)設(shè)置:
serverTimezone=GMT%2B8
(GMT%2B8代表東八區(qū))
也可設(shè)置為:serverTimezone=UTC??? serverTimezone=Shanghai(會比中國時間早8個小時,如果在中國,可以選擇Asia/Shanghai或者Asia/Hongkong)
如果未明確設(shè)置,MySQL 5.5.45+, 5.6.26+ and 5.7.6+版本默認要求建立SSL連接。
為了符合當(dāng)前不使用SSL連接的應(yīng)用程序,verifyServerCertificate屬性設(shè)置為’false’。
如果你不需要使用SSL連接,你需要通過設(shè)置useSSL=false來顯式禁用SSL連接。
如果你需要用SSL連接,就要為服務(wù)器證書驗證提供信任庫,并設(shè)置useSSL=true
SSL – Secure Sockets Layer(安全套接層)
Maven
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><!--<scope>runtime</scope>--><version>8.0.11</version> </dependency>參考文章
?
https://www.cnblogs.com/xiaoyu666/p/10479636.html
https://www.cnblogs.com/wggj/p/9001899.html
總結(jié)
以上是生活随笔為你收集整理的JAVA——[MySQLNonTransientConnectionException:Could not create connection to database server.]解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Web——JavaBean简介
- 下一篇: Eclipse——Maven项目工程无法