MySQL-Fehlermeldung: “The server time zone value ‘CEST’ is unrecognized or represents more than one time zone”

Die Fehlermeldung erschien in den Log-Files von Java-Applikationen, die unter dem Java-“application server” WildFly AKA JBoss auf verschiedenen Linux-Servern liefen.

Es geschah am Wochenende der Umstellung auf Sommerzeit im Jahr 2022.
Es wird spekuliert, dass es eigentlich schon am Samstag davor losging.
Aber es war schon auffällig, dass es genau das Wochenende dieser Umstellung war.
Eigentlich wurde zu dieser Zeit kein System neugestartet – aber wer weiß das so genau?

Allerdings sind eigentlich MySQL-Server die mittelbaren Verursacher des Problems.

Wie bekommt man in der RPM-Welt heraus, wann auf der aktuellen Maschine Updates eingespielt wurden?

$ rpm -qa --qf '%{INSTALLTIME} %-40{NAME} %{INSTALLTIME:date}\n' | sort -n | cut -d' ' -f2-

Die Installations-Beschreibungen für MySQL-Server sagen, dass die System-Zeitzonen in MySQL importiert werden sollen (und zwar in die System-Datenbank mysql) (und das tun wir hier am besten auch):

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

In /etc/my.cnf soll dann im Abschnitt [mysqld] der folgende Eintrag stehen:

default_time_zone = Europe/Berlin

Damit der neue Eintrag wirksam wird, muss der Service mysqld neu gestartet werden (ich schreibe hier absichtlich nur mal die status-Abfrage hin):

$ sudo systemctl status mysqld

Viel Erfolg!


Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.