1. mysql8执行jdbc连接时报The server time zone value '' is unrecognized ...
错误如题,以上是不能识别时区设置或者多个时区。
解决办法,可以是在jdbc url中增加时区设置,另外一种方法是在mysql设置时区。
mysql> set global time_zone='+8:00';
Query OK, 0 rows affected
设置后,报错消失。
2. mysql8执行jdbc连接时报java.math.BigInteger cannot be cast to java.lang.Long
原因是使用了mysql 5.1.27的驱动连接mysql 8,修改版本为8.0.11。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
3. mysql8没有指定全局时区时,需要在连接数据库url中需要指定
jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2b8
其中的参数serverTimezone=GMT%2b8便是指定时区为GMT+8。