com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區別 serverTimezone設定

com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的java

一、JDBC鏈接Mysql5 com.mysql.jdbc.Driver:

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=

//北京時間東八區
serverTimezone=GMT%2B8 
//或者使用上海時間
serverTimezone=Asia/Shanghai

二、JDBC鏈接Mysql6 com.mysql.cj.jdbc.Driver, 須要指定時區serverTimezone:

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=

在設定時區的時候,若是設定serverTimezone=UTC,會比中國時間早8個小時,若是在中國,能夠選擇Asia/Shanghai或者Asia/Hongkong,例如:

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=

備註:mysql

I、若是mysql-connector-java用的6.0以上的,以下:sql

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
</dependency>

可是你的driver用的仍是com.mysql.jdbc.Driver,就會報錯:安全

Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new 
driver class is 'com.mysql.cj.jdbc.Driver'. 
The driver is automatically registered via the SPI 
and manual loading of the driver class is generally unnecessary.

此時須要把com.mysql.jdbc.Driver 改成com.mysql.cj.jdbc.Driver服務器

II、還有一個警告:app

WARN: Establishing SSL connection without server’s identity verification is not recommended. 
According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection 
must be established by default if explicit option isn’t set. 
For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. 
You need either to explicitly disable SSL by setting useSSL=false, 
or set useSSL=true and provide truststore for server certificate verification.
不推薦不使用服務器身份驗證來創建SSL鏈接。
若是未明確設置,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(安全套接層)ide

參考

原文:http://www.javashuo.com/article/p-kcbcolkg-eu.htmlui

相關文章
相關標籤/搜索