我遇到此错误:
“服务器时区值'Osteuropeische Zeit'无法识别或代表多个时区。如果需要,必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更特定的时区值利用时区支持。”
使用的操作系统是Win 10,但已安装为德语版本。我相信这就是问题的根源。我已将显示语言设置为英语,但这没有帮助。
谢谢!
答案 0 :(得分:1)
MySQL使用zoneinfo names -- based on political subdivisions来命名时区。它们看起来像'Europe/Helsinki'
或'Europe/Athens'
,而不是通用名称。为什么? zoneinfo尝试同时处理白天和标准时间,这些规则取决于上述政治细分。
所有这些zoneinfo信息都内置于UNIX派生的操作系统中,因此在Linux上运行的MySQL服务器透明地使用这些时区。 Zoneinfo没有内置在Windows中,因此,如果您的MySQL server 在此处运行,则必须自己设置服务器时区查找表with this procedure。
您可以通过多种方式设置MySQL默认服务器时区。查找如何执行这些操作。这些是几种方法。
&serverTimezone=Europe/Helsinki
的参数SET time_zone='Europe/Helsinki'
(或您需要的任何命令)。您也可以在Java程序中进行设置。查找如何操作。
MySQL的内部TIMESTAMP
数据类型以及NOW()
之类的函数的值固有地存在于UTC中。但是MySQL会将它们从UTC转换为显示的所选时区,并在存储时将其转换为UTC。
因此,在许多应用程序中(例如WordPress),时区设置是用户首选项。