Como resolvo esse erro, “ERRO 1298 (HY000): Fuso horário desconhecido ou incorreto: 'UTC'”?

14

Quando executo o seguinte comando, recebo um erro, no entanto, um dos meus scripts exige.

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

Respostas:

16

Simplesmente corra 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.

Curiosidades: Se você quer saber o que HY00significa (um acompanhamento que perguntei anos depois) ...

Evan Carroll
fonte
Será que a barra final não é realmente apreciada mysql_tzinfo_to_sql? :)
kaiser
4

Eu teria adicionado isso como um comentário à resposta aceita, mas não tenho a reputação necessária. Como o @kaiser sugeriu, a barra final é desnecessária, mas sem especificar o mysql, pois o banco de dados mariadb reclama de um banco de dados ausente. eu achei aquilo

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

foi a maneira correta de resolver o problema no Mariadb 164.

Sr errado
fonte
1
Isso parece agregar algum valor ao thread. Dei um +1 a você. Estou com um problema com toda a no comments till 50política. O que você poderia fazer é sinalizar sua própria "resposta" como um comentário - acho que essa é a política recomendada? Há uma "barreira à entrada", tudo bem, mas também há uma razão para isso.
Vérace 14/04/19