Seit Dezember 2019 steht für alle Kunden nur noch MySQL 8.0 als MySQL-Version zur Verfügung.
Solange Sie Ihre verwendete Software aktuell halten und sich die Entwickler um eine MySQL8-Unterstützung gekümmert haben, haben Sie grundsätzlich keine Auswirkungen zu befürchten. Falls Sie bewusst eine ältere Version verwenden oder es sich um ein eigenprogrammiertes System handelt, prüfen Sie die Kompatiblität mit MySQL 8.0 und beachten dabei besonders folgende Punkte:
- In MySQL 8.0 gibt es einige neue Keywords und Reserved Words. Die neuen Keywords & Reserved Words können zwar weiter verwendet werden, müssen aber mit einem Backtick ` umgeben sein. Aus groups wird somit z.B. `groups`. Alternativ nennen Sie die Spalte um und passen das SQL-Query an.
Eine vollständige Liste der Keywords und Reserved Words finden Sie unter https://dev.mysql.com/doc/refman/8.0/en/keywords.html .
Eine typische Fehlermeldung lautet in diesem Fall:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xxx' at line yyy
- Die PASSWORD() Funktion aus MySQL wurde in Version 8.0 entfernt. Schreiben Sie daher den Code komplett um, damit Sie diese Funktion nicht mehr benötigen. Alternativ können Sie auch SHA1(SHA1()) verwenden.
- Bei Problemen mit dem "sql_mode" verwenden Sie am besten sql_mode=''
- Weiteres zum sql_mode finden Sie auch unter https://hilfe.udmedia.de/webhosting/mysql/wie-kann-ich-den-sql-mode-nach-der-umstellung-auf-mysql-57-anpassen/
Alle entfernten Eigenschaften finden Sie unter https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removals . Alle veralteten Eigenschaften sind unter https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-deprecations aufgelistet.
Testumgebung
Falls Sie die aktuell von Ihnen eingesetzte Software mit MySQL 8 testen möchten, finden Sie Ihre individuellen MySQL-Hostnamen für die Testumgebung direkt nach dem Login in Ihr Kundenmenü.
Nachdem Sie Ihre Tests beendet haben, vergessen Sie bitte nicht den MySQL-Datenbankhost wieder zu ändern. Da sowohl die Zugangsdaten zur Datenbank als auch die Datenbankinhalte für den Test nur einmal wöchentlich kopiert werden (sonntags), kann es sein, dass der Inhalt nicht zum aktuellen Inhalt Ihrer Website passt. Bitte wundern Sie sich daher nicht.
Bekannte Probleme
Concrete5:
- Problem: Einige ältere Concrete5-Versionen nutzen Reserved Keywords aus MySQL 8.0, z.B. `groups` .
- Lösung: Aktualisieren Sie Concrete5 mindestens auf Version 8.4.1 (vom 13.07.2018)
Contao:
- Problem: Einige ältere Contao Versionen nutzen Reserved Keywords aus MySQL 8.0, z.B. `groups` .
- Lösung: Aktualisieren Sie Contao mindestens auf Version 3.5.40 (vom 11.04.2019) und spielen manuell einen Patch ein, den Sie unter https://github.com/contao/core/pull/8813 einsehen können. Patchen müssen Sie zumindest die Datei Database.php und DC_Table.php. Prüfen Sie ebenfalls ob in der Datei system/modules/core/library/Contao/Database.php in der Funktion quoteIdentifier(), groups genannt wird. Ggf. müssen Sie diese Funktion erweitern. Kontaktieren Sie uns gerne, insofern Sie Hilfe benötigen.
Drupal:
- Problem: Einige ältere Drupal-Versionen nutzen Reserved Keywords aus MySQL 8.0, z.B. `groups` .
- Lösung: Aktualisieren Sie Drupal mindestens auf Version 8.6.X
Shopware:
- Allgemein: Shopware empfiehlt die Verwendung der Version 5.5 (vom 18.09.2018) oder höher
Sollten Sie Fragen haben oder Hilfe benötigen, wenden Sie sich gerne an uns.