参考示例:如何规避mysql的url时区的陷阱
出错代码如下:
java.lang.RuntimeException: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
at com.mysql.cj.protocol.a.NativePro... (show balloon)
MySQL - @localhost: java.lang.RuntimeException: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öй ... more
出错界面如下:
解决方法
1、在url后面加:?serverTimezone=utc
UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。UTC + (+0800) = 本地(北京)时间
2、使用中国标准时间。也是就serverTimezone=Asia/Shanghai
3、中文乱码的解决方案:characterEncoding=utf8
如上所示:url后面增加 > ?serverTimezone=Asia/Shanghai&characterEncoding=utf8
4、如还报错:请选择Driver > MySQL For 5.1
配置成功界面如下: