Was kann ich tun, wenn das MySQL Modul Zeitzonen-Fehler in der Logdatei jam-0.log protokolliert?

Was kann ich tun, wenn das MySQL Modul Zeitzonen-Fehler in der Logdatei jam-0.log protokolliert?

2. März 2019
/ / /

Mit dem Update des Moduls Adressbuch und Journal für MySQL-Datenbanken auf Version 2.0.14 wurde der neue MySQL JDBC Treiber in Version 8 eingebunden. Dies hat zur Folge, dass dieser Treiber eine Zeitzonen-Information auf dem MySQL Server in einem bestimmten Format erwartet. Bei älteren MySQL Server Instanzen bzw. auch bei migrierten Servern ist es oft der Fall, dass diese Zeitzonen nicht oder auf einen ungültigen Wert gesetzt sind. Dies war mit älteren JDBC-Treibern kein Problem, scheint aber mit Version 8 des Treibers nun aufzutreten. Ist dieses Problem vorhanden, werden im Journal und Adressbuch vorübergehend keine Einträge angezeigt und in der Logdatei jam-0.log im jAnrufmonitor /logs Verzeichnis folgende Logeinträge protokolliert:

[ SEVERE – 02/Mär/2019:15:53:40 +0100 – JAM-MySqlAddressbook-Observer-Thread (deamon) – de.janrufmonitor.repository.AbstractDatabaseCallerManager$1.run() – The server time zone value ‚Mitteleuropäische Zeit‘ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. ]

Die Lösung dieses Problems ist jedoch einfach zu finden. Man muss auf dem genutzten MySQL Server eine Standard- bzw. globale Zeitzone einrichten. Eine gute Hilfestellung bietet hierzu folgende, in Stackoverflow dargestellte Vorgehensweise: https://stackoverflow.com/questions/930900/how-do-i-set-the-time-zone-of-mysql

Anschließend wird der Zugriff auf das MySQL Adressbuch bzw. Journal wieder ermöglicht.

3 Kommentare

  1. Thilo Brandt 3. März 2019 20:28

    Noch zwei Sachen, über die ich beim Nachziehen meines MySQL-Servers gestolpert bin, die vielleicht als Hinweis in der FAQ dem Einen oder Anderen weitere Sucherei ersparen:

    1) Unter Windows muss man bei MySQL / MariaDB zunächst einmal die time_zone Tabelle(n) füllen, s. hier

    https://dev.mysql.com/downloads/timezones.html

    (Ohne das bekommt man nur den Hinweis, „Europe/Berlin“ sei kein gültiger Eintrag, obwohl das natürlich im Windows als Systemeinstellung so hinterlegt ist.)

    2) Und um das zu bewerkstelligen muss man in der MySQL Workbench unter Edit | Preferences das Häkchen setzen bei „Show Metadata and Internal Schemas“, sonst bekommt man das mysql-Schema nicht zu Gesicht.

    • cube4you 9. April 2019 7:59

      Hallo Thilo!

      Ich bin komischerweise erst gestern über das Problem mit der fehlenden TimeZone gestolpert, das Journal hatte seit dem Update des MySQL-Moduls noch bis letzten Freitag ordentlich mitgeschrieben.

      Ich verwende eine Synology Diskstation mit MariaDB5 als Datenbank. Für mich war der Weg dann wie folgt: per phpMyAdmin der MySQL Datenbank die entsprechenden Tabellen durch import der unter https://downloads.mysql.com/general/timezone_2019a_posix_sql.zip zu findenden Daten auffüllen und dann die nachfolgenden SQL-Befehle abarbeiten:

      SELECT @@global.time_zone;
      SET GLOBAL time_zone = ‚Europe/Berlin‘;

      Nach Neustart des jAnrufmonitors konnte ich alles wie gehabt weiterverwenden.

Schreiben Sie einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

  • Folgen Sie jAnrufmonitor
         
Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.
published on 2. März 2019