SQLSTATE [HY000]:一般错误:1298未知或不正确的时区:'UTC'windows

问题描述:

我在设置Windows Wamp服务器中的PHP源代码时遇到此错误。SQLSTATE [HY000]:一般错误:1298未知或不正确的时区:'UTC'windows

SQLSTATE[HY000]: General error: 1298 Unknown or incorrect time zone: 'UTC'

请让我知道如何解决。

谢谢。

+0

http://dba.stackexchange。COM /问题/ 120945 /怎么办,我排解,这个错误 - 错误 - 1298 - HY000未知有或不正确的时区 – chris85

有三种方法可以解决这个问题。

Install the timezone database

mysql_tzinfo_to_sql程序加载在mysql数据库中的时区表。它用于具有zoneinfo数据库(描述时区的文件集)的系统上。这些系统的例子是Linux,FreeBSD,Solaris和OS X.这些文件的一个可能位置是/ usr/share/zoneinfo目录(Solaris上的/ usr/share/lib/zoneinfo)。如果您的系统没有zoneinfo数据库,则可以使用第11.6节“MySQL服务器时区支持”中介绍的可下载软件包。

mysql_tzinfo_to_sql可以调用几种方法:

shell> mysql_tzinfo_to_sql tz_dir 
shell> mysql_tzinfo_to_sql tz_file tz_name 
shell> mysql_tzinfo_to_sql --leap tz_file 

对于第一次调用语法,通过区信息目录路径名mysql_tzinfo_to_sql并输出发送到mysql的程序。例如:

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql 

mysql_tzinfo_to_sql读取系统的时区文件,并从中生成SQL语句。 mysql处理这些语句以加载时区表。

第二语法会导致mysql_tzinfo_to_sql加载一个时区文件tz_file对应于一个时区名称tz_name:

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql 

如果您的时区需要考虑到闰秒,调用mysql_tzinfo_to_sql使用第三种语法,它初始化闰秒信息。 tz_file是你的时区文件的名称:

shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql 

运行mysql_tzinfo_to_sql后,最好重新启动服务器,以便它不会继续使用任何以前缓存的时间段数据。

来源:https://dev.mysql.com/doc/refman/5.7/en/mysql-tzinfo-to-sql.html

Update your my.cnf file to use a timezone offset instead

default-time-zone = +0:00 

Remove or comment out offending statement from your my.cnf file

# default-time-zone = UTC 

这将导致它继承了OS的时区来代替。