MySQL JDBC 驱动程序 5.1.33:解决时区差异
升级到 MySQL JDBC 驱动程序 5.1.33 后遇到的常见问题是错误消息指示无法识别的服务器时区值(“UTC”)。当使用 JDBC 驱动程序的时区支持并且服务器的时区值未充分指定时,就会发生这种情况。
原因
此问题的根本原因在于默认值MySQL JDBC 驱动程序 5.1.33 的时区处理。它期望显式定义服务器时区,而以前版本的驱动程序采用默认时区。引入此更改是为了增强时区支持,但在使用 UTC 时区时需要额外配置。
解决方案
解决此问题并成功连接 MySQL JDBC 驱动程序 5.1。 33 使用 UTC 时区,必须在连接字符串中显式指定 serverTimezone 参数。此参数通知 JDBC 驱动程序有关数据库服务器的时区的信息,确保将正确的偏移量应用于时间戳和日期。
在 Java 应用程序中,可以将此参数添加到连接字符串,如下所示:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
通过将 serverTimezone 参数指定为 UTC,JDBC 驱动程序将正确处理时区转换并使用 UTC 与 MySQL 数据库通信时区。
以上是为什么 MySQL JDBC 驱动程序 5.1.33 会抛出'服务器时区”错误,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!