JAVA——[MySQLNonTransientConnectionException:Could not create connection to database server.]解决方案
問題描述
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
問題分析
使用錯誤的MySQL驅動。
解決方案
更改JDBC的jar包
更改JDBC驅動名和連接字符串URL?
// MySQL 8.0 以下版本 - JDBC 驅動名及數據庫 URL //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; //static final String DB_URL = "jdbc:mysql://localhost:3306/xxxx";// MySQL 8.0 以上版本 - JDBC 驅動名及數據庫 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 需要添加時區設置:
serverTimezone=GMT%2B8
(GMT%2B8代表東八區)
也可設置為:serverTimezone=UTC??? serverTimezone=Shanghai(會比中國時間早8個小時,如果在中國,可以選擇Asia/Shanghai或者Asia/Hongkong)
如果未明確設置,MySQL 5.5.45+, 5.6.26+ and 5.7.6+版本默認要求建立SSL連接。
為了符合當前不使用SSL連接的應用程序,verifyServerCertificate屬性設置為’false’。
如果你不需要使用SSL連接,你需要通過設置useSSL=false來顯式禁用SSL連接。
如果你需要用SSL連接,就要為服務器證書驗證提供信任庫,并設置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
總結
以上是生活随笔為你收集整理的JAVA——[MySQLNonTransientConnectionException:Could not create connection to database server.]解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Web——JavaBean简介
- 下一篇: MyBatis + MyBatis Pl