Update MySQL 5.7 auf 8.0

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
mikedreissig
Beiträge: 83
Registriert: Di 10. Jan 2006, 19:28
Kontaktdaten:

Update MySQL 5.7 auf 8.0

Beitrag von mikedreissig » Di 9. Jun 2020, 18:36

Liebe Gemeinde,
Host Europe kündigt an, dass MySQL demnächst (16.06.2020) auf Version 8.0.19 geändert wird. Sind da Probleme bei bestehenden und neuen Installationen zu erwarten?

Grüße
mikedreissig

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von xmurrix » Do 11. Jun 2020, 11:19

Hallo mikedreissig,

wenn ich mir die Änderungen von MySQL 8.0 ansehe, so fällt mir auf Anhieb nichts auf, was für den Betrieb einer CONTENIDO Installation unter MySQL 8 problematisch sein kann. Ganz ausschließen lassen sich Probleme natürlich nicht, dafür müsste man das vorher testen.

Auf folgender Seite sind die Änderungen in MySQL 8 beschrieben, inkompatible Änderungen sind mit "incompatible change" gekennzeichnet:
https://dev.mysql.com/doc/refman/8.0/en ... on-changes

Was aber sein kann, dass der neue MySQL 8 Server mit vordefinierten strikten SQL-Modes daherkommt, was dann in CONTENIDO zu Problemen führen kann. Wenn nötig, sollte man das aber in der Konfiguration anpassen können. Siehe Post dazu:
viewtopic.php?f=115&t=43780#p180508

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

mikedreissig
Beiträge: 83
Registriert: Di 10. Jan 2006, 19:28
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von mikedreissig » Do 11. Jun 2020, 15:32

Hallo xmurrix,

danke. Die von Dir vorgeschlagene Anpassung werde ich vornehmen:
viewtopic.php?f=115&t=43780#p180508
Und dann Rückmeldung geben, sobald die Umstellung durch ist.

Grüße
mikedreissig

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von homtata » Do 18. Jun 2020, 08:39

Also, bei HostEurope gibts unter MySQL8 tatsächlich Probleme - das Backend lässt (unter 4.9.12 zumindest, nur dort getestet) keinen Login mehr zu, man erhält immer die "Falscher Benutzername oder Passwort"-Fehlermeldung.
Die im anderen Thread genannte Lösung der Erweiterung der config.php um "SET SESSION sql_mode='NO_ENGINE_SUBSTITUTION';" lässt den Login wieder zu. Ich habe nicht getestet, wie sich diese Erweiterung auf andere Dinge (Update/Upgrade, Dauerbetrieb) auswirkt.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von xmurrix » Do 18. Jun 2020, 09:06

MySQL 8.0 verwendet per default das Authentifizierungs-Plugin "caching_sha2_password" und dies ist ab PHP 7.4 mysqlnd verfügbar. Ich musste in der my.cnf folgende Änderung machen, damit es bei mir funktioniert:

Code: Alles auswählen

default_authentication_plugin=mysql_native_password
Damit läuft CONTENIDO 4.10.1 in einem Docker Container mit PHP 7.3 und MySQL 8.0 bisher ohne Probleme.

Ob CONTENIDO 4.9.12 unter MySQL 8.0 sauber funktioniert, bin ich mir nicht sicher. Vor MySQL 8 gab es den SQL-Mode "mysql40", vielleicht klappt es auch mit:

Code: Alles auswählen

SET SESSION sql_mode='';
Aber auch das müsste man genauer testen...

CONTENIDO 4.9.12 wird auch vermutlich nicht unter PHP 7.2/7.3 funktionieren, seit PHP 7.2 ist die Array-Funktion each() als deprecated markiert und sie wird noch in CONTENIDO 4.9.12 in der Session-Klasse verwendet.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von homtata » Do 18. Jun 2020, 11:55

Ich habe für 4.9.12 ein Set an Patchdateien erstellt für 7.2. Müsste ich mal hier posten. Damit ist das Errorlog ziemlich clean...

mikedreissig
Beiträge: 83
Registriert: Di 10. Jan 2006, 19:28
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von mikedreissig » Sa 20. Jun 2020, 16:09

das wäre prima.
ich habe für 4.9.12 ein Set an Patchdateien erstellt für 7.2. Müsste ich mal hier posten. Damit ist das Errorlog ziemlich clean...
Host Europe hat das Update auf den 01.07 - 03.07. verschoben, wäre natürlich gut, wenn man vorher ein paar mögliche Probleme beseitigen könnte ...

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von Faar » Mo 22. Jun 2020, 09:14

xmurrix hat geschrieben:
Do 18. Jun 2020, 09:06

Code: Alles auswählen

SET SESSION sql_mode='';
Aber auch das müsste man genauer testen...
So wie ich das verstanden habe, sollte man nur die Modus alle setzen, die man haben will, bis auf die, die man nicht haben will.
sql_mode=""; würde bei Erfolg alle ausschalten aber auch die nützlichen.
Laut der Beschreibung hier sollte es funktionieren.
https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html

Wie prüft man das nach, ob die Modes ausgeschaltet sind?

Probleme machen v'ermutlich diese Modes:
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE

Wobei: Ich hatte den Fall, dass ein (privater) Server die Änderungen des slq_mode gar nicht zu ließ.
Ds muss dann der Inhaber erst freischalten.
stimmts, Oldperl?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von xmurrix » Mo 22. Jun 2020, 09:44

Faar hat geschrieben:
Mo 22. Jun 2020, 09:14
...So wie ich das verstanden habe, sollte man nur die Modus alle setzen, die man haben will, bis auf die, die man nicht haben will...
Das kann man machen, wenn man genau weiß welche SQL Modes welche Auswirkungen haben, welche SQL-Anweisungen CONTENIDO und die verwendeten Module/Plugins genau generieren.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von Oldperl » Mo 22. Jun 2020, 10:29

Servus,
Faar hat geschrieben:
Mo 22. Jun 2020, 09:14
Wobei: Ich hatte den Fall, dass ein (privater) Server die Änderungen des slq_mode gar nicht zu ließ.
Ds muss dann der Inhaber erst freischalten.
stimmts, Oldperl?
Es kommt, wie immer, auf die freigegebenen Möglichkeit an, denn auch für einen MySQL-Server kann ich grundsätzliche Konfigurationen erlauben oder verbieten.

Aber generell wird hier das Pferd vom falschen Ende aufgezäumt, denn dass die Mode-Einstellungen des Datenbank-Servers in der Standard-Konfiguration von Version zu Version immer strikter werden und wurden ist schon länger bekannt, und aus diversen Gründen auch eine sinnvolle Massnahme. Also gilt es eigentlich die Anfragen den Vorgaben der DB anzupassen, nicht umgekehrt.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von xmurrix » Mo 22. Jun 2020, 12:20

Oldperl hat geschrieben:
Mo 22. Jun 2020, 10:29
...Also gilt es eigentlich die Anfragen den Vorgaben der DB anzupassen, nicht umgekehrt....
Daran wird auch gearbeitet, siehe https://github.com/CONTENIDO/CONTENIDO/issues/106
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von Faar » Di 23. Jun 2020, 09:49

Oldperl hat geschrieben:
Mo 22. Jun 2020, 10:29
Also gilt es eigentlich die Anfragen den Vorgaben der DB anzupassen, nicht umgekehrt.
Prinzipiell ja, aber wer Contenido kennt, weiß, dass SQL-Anfragen nicht immer mit $sql= beginnen, sonst wäre es einfach, alle aufzufinden.
Zudem muss die Reparatur auch passen, bzw. müsste es im Zweifel getestet werden.
Wir haben alle Zugriff aufs Github, also los.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

mikedreissig
Beiträge: 83
Registriert: Di 10. Jan 2006, 19:28
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von mikedreissig » Mi 24. Jun 2020, 16:46

Neuigkeiten von Host Europe: Es gibt einen Bug in MySQL 8.0.19, deshalb wird das Update verschoben und zunächst nur von derzeit 5.6.48 auf 5.7 aktualisiert ...

mikedreissig
Beiträge: 83
Registriert: Di 10. Jan 2006, 19:28
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von mikedreissig » Sa 4. Jul 2020, 12:04

Weitere Neuigkeiten zu Host Europe: Das Update von MySql 5.6.48 auf 5.7.30 ist durch. Ich habe es in bestehenden 4.9.12 und 4.10.0 Installationen durchgetestet und keine Probleme gefunden.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Update MySQL 5.7 auf 8.0

Beitrag von Faar » Fr 7. Mai 2021, 14:20

Hab gerade eine MySQL 8.0.24 vor die Nase gesetzt bekommen und natürlich läuft das Contenido nicht.
Allerdings habe ich root-Rechte, auf dem Server wie auf der DB und kann einstellen, was ich will.
Das Setup meldet mir als erstes den strict-mode Fehler.
Aber auch die Dateien und Verzeichnisse lassen sich nicht beschreiben weil sie alle den User root gehören. :?

Sollte ich soweit kommen, dass ich mal den strict-mode angepasst habe, schreibe ich hier über den Erfolg. :|
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten