MySQL JDBC Driver 5.1.33: Addressing the Time Zone Issue
Java applications utilizing the MySQL JDBC driver version 5.1.23 may encounter errors when upgrading to version 5.1.33. Specifically, Tomcat may throw an exception similar to:
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone.
Understanding the Issue
This error occurs because version 5.1.33 of the JDBC driver has stricter time zone handling. By default, MySQL assumes the server timezone is UTC. However, if the server is configured with a different timezone, the driver may not be able to correctly convert timestamps.
Solution: Configuring Server Timezone
To resolve this issue and ensure that version 5.1.33 works with UTC time zone, explicitly specify the serverTimezone property in the connection string. The value of this property should match the timezone configured on the MySQL server.
For example:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
By specifying the serverTimezone property, the driver will be able to properly interpret timestamps stored in the database and avoid the error encountered when starting Tomcat.
The above is the detailed content of MySQL JDBC Driver 5.1.33: How to Fix the 'The server timezone value 'UTC' is unrecognized' Error?. For more information, please follow other related articles on the PHP Chinese website!