解决:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

解决问题: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.

报错截图:

解决:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.
报错信息: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.(服务器时区值’。©���׼ʱ��’无法识别或代表多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更特定的时区值),根据这个报错信息我们基本上已经知道问题的解决方案是什么了,我们刻意通过serverTimezone配置属性来解决这个问题。

错误原因及解决方案

使用的数据库是MySQL,驱动是8.0.18,这是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。再一个解决办法就是使用低版本的MySQL jdbc驱动,5.1.28不会存在时区的问题。

修改后的内容及运行情况:

解决:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

总结

使用不同的数据库驱动版本可能会导致数据库和系统时区差异,在使用数据库驱动版本时要充分考虑,结合需求去使用。