Jak rozwiązać ten błąd, „ERROR 1298 (HY000): Nieznana lub niepoprawna strefa czasowa:„ UTC ””?

14

Po uruchomieniu następującego polecenia pojawia się błąd, jednak jeden z moich skryptów tego wymaga.

SET time_zone = 'UTC';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'
Evan Carroll
źródło

Odpowiedzi:

17

Po prostu biegnij 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.

Ciekawostki: Jeśli chcesz wiedzieć, co HY00oznacza skrót (kontynuacja, o którą prosiłem lata później) ...

Evan Carroll
źródło
Czy to możliwe, że ukośnik końcowy nie jest tak naprawdę doceniany mysql_tzinfo_to_sql? :)
Kaiser
5

Dodałbym to jako komentarz do zaakceptowanej odpowiedzi, ale brakuje mi potrzebnej reputacji. Jak sugerował @kaiser, ukośnik końcowy jest niepotrzebny, ale nie określa mysql, ponieważ mariadb bazy danych narzeka na brakującą bazę danych. znalazłem to

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

był poprawnym sposobem rozwiązania problemu w Mariadb 164.

Pan zły
źródło
1
To wydaje się dodawać pewną wartość do wątku. Dałem ci +1 - mam problem z całą no comments till 50polisą. Co możesz zrobić, to oznaczyć swoją „odpowiedź” jako komentarz - myślę, że to zalecana polityka? Jest „bariera wejścia” w porządku, ale jest też powód .
Vérace