一些背景知识:

我有一个Java1.6WebApp在Tomcat7上运行.数据库是MySQL 5.5.之前,我使用Mysql JDBC驱动程序5.1.23连接到数据库.一切顺利.我最近升级到了Mysql JDBC驱动程序5.1.33.升级后,Tomcat在启动应用程序时会抛出此错误.

WARNING: Unexpected exception resolving reference
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents
  more than one timezone. You must configure either the server or JDBC driver (via
  the serverTimezone configuration property) to use a more specifc timezone value if
  you want to utilize timezone support.

为什么会这样?

推荐答案

显然,要使MySQL JDBC驱动程序的5.1.33版与UTC时区配合使用,必须在连接字符串中明确指定serverTimezone.

jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

Java相关问答推荐

是否需要关闭Executors返回的执行器.newVirtualThreadPerTaskExecutor()?

使用Java Streams API比较两个不同的Java集合对象和一个公共属性

根据对象和值的参数将映射<;T、值&>转换为列表<;T&>

基本时态运算的ISO-8601周数据表示法

在模拟超类中设置非setter属性的值

流迭代列表<;对象>;上的NoSuchElementException

CompleteableFuture是否运行在不同的内核上?

SpringBoot+Java 17@Valid未验证POJO

由于我在Main方法中关闭了 scanner ,但在该方法中创建了一个新的 scanner ,因此出现了错误

为什么Spring Boot项目无法为基于MySQL的CRUD应用程序找到从JPARepository接口扩展的ProductRepository?

Java泛型类方法的静态返回类型是否被类型擦除?

当构造函数创建一个新实例时,Java为什么需要&new";

如何在IntelliJ IDEA的Build.sbt中添加外部JAR文件?

视图被推出线性布局-Android

JavaFX,GridPane:在GridPane的列中生成元素将保持所有列的宽度

为什么Spring要更改Java版本配置以及如何正确设置?

org.springframework.web.HttpRequestMethodNotSupportedException:请求方法';帖子';不支持

ResponseEntity.控制器截断响应的JSON部分

如何在Java上为循环数组从synchronized迁移到ReentrantLock

如何转换Vector<;对象>;转换为int?