Invalid default value for 'versand' (gelöst)

Hier melden JVerein-Benutzer ihre Fehler

Moderator: heiner

Antworten
maximilianplenert
Beiträge: 7
Registriert: Mittwoch 27. April 2016, 14:37
Verein: Deutscher Hanfverband
Mitglieder: 2000
JVerein-Version: 2.8.13
Betriebssystem: Ubuntu 16.04 Xenial

Invalid default value for 'versand' (gelöst)

Beitrag von maximilianplenert »

Nach einer Neuinstallation meines Systems und dem Wechsel auf Ubuntu 16.04 Xenial erhielt ich beim Start einer frischen JVerein Installation mit mysql eine Fehlermeldung beim initialen Befüllen der JVerein Datenbank.

In der Tabelle mail wurde ein "Invalid default value for 'versand'" gemeldet. Der Wert für `versand`der gesetzt werden soll ist: timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'

Herkunft des Problems:
Mit dem Upgrade des System wurde auch mysql auf Version 5.7 aktualisiert. Seit dieser Version dürfen durch den neuen Default SQL Mode kein 0 Datum mehr genutzt werden.

Das gleiche Problem bei jemand anderem: https://dba.stackexchange.com/questions ... tamp-field

SQL Mode Changes bei Version 5.7
https://dev.mysql.com/doc/refman/5.7/en ... _zero_date
https://dev.mysql.com/doc/refman/5.7/en ... de-changes

Die Lösung fand ich hier https://mattstauffer.co/blog/how-to-dis ... rge-ubuntu

Meine Lösung:
Ich habe wie in der Lösung beschrieben meine /etc/mysql/my.cnf ergänzt um die Zeile:
[mysqld]
sql_mode=STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Die problematische Default-Einstellung bei Version 5.7 wäre:
[mysqld]
STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Antworten