我正在使用Windows 7
Mysql 5.5.15
运行set time_zone = "Europe/Moscow";
我得到Error Number: 1298
Unknown or incorrect time zone: 'Europe/Moscow'
我使用此处的最新信息更新时区表http://dev.mysql.com/downloads/timezones.html但是在mysql服务器启动之后,时区表仍然是空的,并且命令仍然返回相同的错误。
有人面临类似的问题吗?
解决方案:
对于那些面临同样问题的人,以下是我的发现。我运行了show variables like 'datadir'
发现我的数据文件存储在不同的文件夹中:C:\ProgramData\MySQL\MySQLServer5.5\data\
我正在替换C:\Program files中的文件。。。文件夹。还提供了所需的文件。
所以最后一切都很顺利。
我通过以下步骤解决了问题。
- 如果您的MySql 5.6或更低
从下面的链接下载timezone_2016f_posix.zip并解压缩,然后将所有文件替换到
例如yourDrive:\mysql\data\mysql
或
- 如果您的MySql 5.7+
从下面的链接下载timezone_2016f_posix_sql.zip并解压缩,然后将所有文件替换到
例如YourDrive:\mysql\data\mysql
您将从此链接获得所有zip文件http://dev.mysql.com/downloads/timezones.html
注意:您的mysql数据路径将根据您的mysql版本或mysql设置而更改,或者如果您使用XAMPP,您的路径将如下所示yourdrive:\XAMPP\mysql\data\mysql
希望它能帮助
尝试:
SET GLOBAL time_zone = <timezone>;