Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

MySQL: Strict Mode deaktivieren, damit TYPO3 8 oder Laravel wieder laufen

#Tutorials#SQL

MySQL hat den strict mode seit Version 5.1 eingebaut, ab Version 5.7 ist dieser aber erst standardmäßig aktiviert. Wenn man seinen Server updatet kann es so vorkommen, dass viele Anwendungen und Webseiten nicht mehr funktionieren.

Bei Laravel kann man diesen Fehler beheben indem man in der database.php einen neuen Key mit dem Namen strict und dem Wert false hinzufügt. Benutzt man Codeigniter, Fuel oder ganz normal das Unix Setup, bringt einem das natürlich nichts.

Config Datei

MySQL guckt je nach System bei verschiedenen Pfaden nach einer cnf-Datei. Diese könnte hier sein:

  • /etc/my.cnf,
  • /etc/mysql/my.cnf,
  • SYSCONFDIR/my.cnf,
  • $MYSQL_HOME/my.cnf und
  • ~/my.cnf.

Normalerweise reicht aber die Datei /etc/mysql/my.cnf zu bearbeiten.

Derzeitige Config

If you scroll down the file a bit, you'll find the [mysqld] section. We're going to add a new key, sql_mode. On MySQL 5.7, the default values for this key out of the box are:


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

Der Strict Mode kommt von STRICT_TRANS_TABLES, also überschreiben wir diesen jetzt.

Neue Konfig


sql_mode=ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Das wars auch schon. Nun muss nur noch der MySQL-Server neugestartet werden:

sudo /etc/init.d/mysql restart


Kommentare

  • Woot
    Durch die Config funktioniert leider gar nichts in einer TYPO3 Umgebung. Einfach

    sql_mode=

    und es funktioniert.
    Antworten

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.