¿Cómo resuelvo este error, "ERROR 1298 (HY000): Zona horaria desconocida o incorrecta: 'UTC'"?

14

Cuando ejecuto el siguiente comando obtengo un error, sin embargo, uno de mis scripts lo requiere.

SET time_zone = 'UTC';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'
Evan Carroll
fuente

Respuestas:

16

Simplemente corre mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
Enter password: 
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.

Trivia: si quieres saber qué HY00significa (un seguimiento que pregunté años después) ...

Evan Carroll
fuente
¿Podría ser que el corte final no sea realmente apreciado por mysql_tzinfo_to_sql? :)
kaiser
4

Hubiera agregado esto como un comentario a la respuesta aceptada, pero me falta la reputación necesaria. Como sugirió @kaiser, la barra diagonal final es innecesaria pero sin especificar mysql, ya que la base de datos mariadb se queja de que falta una base de datos. encontre eso

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p -Dmysql

era la forma correcta de resolver el problema en Mariadb 164.

Señor incorrecto
fuente
1
Esto parece agregar algo de valor al hilo. Le di un +1. Tengo un problema con toda la no comments till 50política. Lo que podría hacer es marcar su propia "respuesta" como un comentario. Creo que esa es la política recomendada. Hay una "barrera de entrada", pero también hay una razón para ello.
Vérace