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

≯℡__Kan透↙ 提交于 2019-12-12 02:12:55

问题


I am getting this error while setting up a PHP source code in Windows Wamp server.

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

Please let me know how to solve.

Thanks.


回答1:


You have three ways to solve this problem.

Install the timezone database

The mysql_tzinfo_to_sql program loads the time zone tables in the mysql database. It is used on systems that have a zoneinfo database (the set of files describing time zones). Examples of such systems are Linux, FreeBSD, Solaris, and OS X. One likely location for these files is the /usr/share/zoneinfo directory (/usr/share/lib/zoneinfo on Solaris). If your system does not have a zoneinfo database, you can use the downloadable package described in Section 11.6, “MySQL Server Time Zone Support”.

mysql_tzinfo_to_sql can be invoked several ways:

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

For the first invocation syntax, pass the zoneinfo directory path name to mysql_tzinfo_to_sql and send the output into the mysql program. For example:

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

mysql_tzinfo_to_sql reads your system's time zone files and generates SQL statements from them. mysql processes those statements to load the time zone tables.

The second syntax causes mysql_tzinfo_to_sql to load a single time zone file tz_file that corresponds to a time zone name tz_name:

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

If your time zone needs to account for leap seconds, invoke mysql_tzinfo_to_sql using the third syntax, which initializes the leap second information. tz_file is the name of your time zone file:

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

After running mysql_tzinfo_to_sql, it is best to restart the server so that it does not continue to use any previously cached time zone data.

source: 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

This will cause it to inherit the timezone from the OS instead.



来源:https://stackoverflow.com/questions/42589490/sqlstatehy000-general-error-1298-unknown-or-incorrect-time-zone-utc-windo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!