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.
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.
主要是以下两个原因:
-
mysql-connector包使用了新的驱动
-
连接的URL中需要增加时区信息
解决方法为:
1️⃣jdbc.driver的属性值从com.mysql.jdbc.Driver
换为com.mysql.cj.jdbc.Driver
.
2️⃣连接的URL中需要增加时区信息 serverTimezone=GMT
增加serverTimezone属性并设置时区值,测试UTC(世界标准时间)和GMT(格林威治 时间)都可以。
3️⃣如果是在XML文档中,需将&
换成 &
,(注意;不能少)否则还是会报错
如果你不需要使用SSL连接,你需要通过在URL后面设置一个属性useSSL=false来显式禁用SSL连接。
如果你需要用SSL连接,就要为服务器证书验证提供信任库,并设置useSSL=true
最终的URL如下所示:
jdbc:mysql://localhost:3306/hive?serverTimezone=GMT&useSSL=false
当不是xml的时候URL如下所示:将&
换成 &
jdbc:mysql://localhost:3306/hive?serverTimezone=GMT&auseSSL=false