web-dev-qa-db-fra.com

Comment puis-je résoudre cette erreur, "ERREUR 1298 (HY000): fuseau horaire inconnu ou incorrect: 'UTC'"?

Lorsque j'exécute la commande suivante, j'obtiens une erreur, mais l'un de mes scripts l'exige.

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

Exécutez simplement 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.

Anecdote: Si vous voulez savoir ce que le HY00 signifie (un suivi que j'ai demandé des années plus tard) ....

19
Evan Carroll

J'aurais ajouté cela en tant que commentaire à la réponse acceptée, mais je n'ai pas la réputation nécessaire. Comme l'a suggéré @kaiser, la barre oblique de fin n'est pas nécessaire mais sans spécifier mysql car la base de données mariadb se plaint d'une base de données manquante. Je l'ai trouvé

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

était la bonne façon de résoudre le problème dans Mariadb 164.

5
Mr. Wrong