MySQL 8 bei goneo

Wir haben alle Nutzer und Nutzerinnen von goneo per E-Mail informiert, dass es bald eine wichtige Neuerung gibt, die die Datenbank-Technologie betrifft.

goneo führt MySQL 8 als Standard für die Datenbankanwendungen ein. Neue Kunden, die ein Webhosting- oder Managed-Server-Paket bestellen, erhalten MySQL Release 8.0.

Kundinnen und Kunden, die schon länger ein goneo-Webhosting-Paket mit einer Webanwendung benutzen, die eine MySQL-Datenbank benötigen, empfehlen wir, umgehend zu prüfen, ob diese Anwendungen MySQL 8 unterstützen.

Datenbanken bei goneo
Bild von DANIEL DIAZ auf Pixabay

Aktualisierung vom 27.7.2022

Mit Webanwendungen meinen wir zum Beispiel WordPress, Joomla oder Drupal. Auch eigene Skripte sollten getestet und im gegebenen Falle umgearbeitet werden, so dass sie MySQL 8 nutzen können.

Viele aktuelle Standardwebanwendungen unterstützen MySQL 8 inzwischen von Haus aus.

Nutzer und Nutzerinnen von Homepage-Baukästen sind nicht betroffen. Die damit erstellten Webseiten brauchen meist keine Datenbank. Dies gilt für Software, die auf dem PC oder Notebook zu installieren ist und die als Arbeitsergebnis eine Website generiert.

Dazu gehören Zeta Producer, Adobe go live oder ähnliche Adobe-Produkte, Microsoft Frontpage oder HTML-Ausgaben von Textverarbeitungsprogrammen. Auch easyPage von goneo benötigt keine Datenbank für die damit erzeugte Website.

Der beste Weg zur MySQL-8-Unterstützung: Updates

goneo stellt noch etwa ein Jahr lang die alte Version der Datenbank bereit. Sie müssten etwas ändern, um diese weiter zu nutzen. Dazu verbinden Sie Ihre Webanwendung mit einem anderen Server.

Die nötigen Angaben dafür gibt es demnächst im goneo-Kundencenter.

Kundinnen und Kunden, die den goneo-Newsletter abonniert haben, erhalten in den nächsten Wochen gezielte Informationen zu den Webanwendungen, soweit wir diese erkennen konnten.

MySQL 8 versus MySQL 5.7 im Kontext Webhosting

Performance und Sicherheit sind zwei Aspekte, die bei MySQL verbessert worden sind. MySQL 8 ist schon 2018 vorgestellt worden. Nach mittlerweile vier Jahren zeichnet sich ab, dass sich dieses praxistauglich ist.

In Sachen Sicherheit bringt MySQL 8 die Neuerung, dass nun das „Plugin“, wie es bei MySQL heißt, „caching_sha2_password“ Standard ist, wobei die Fähigkeiten des bisher allgemein genutzten „sha256_password“-Authentifizierungsplugins integriert sind. “sha256_password” ist damit abgelöst.

Mit dem neuen Standard ist die Authentifizierung nach Angaben von MySQL schneller. Ältere Anwendungen sind darauf jedoch nicht ausgelegt. Infolgedessen scheitert die Anmeldung an der MySQL 8-Datenbank aus diesem Grund. Dies sehen wir bei unseren Tests als häufigstes Problem.  

Im Bereich Webhosting kommt dies bei einigen Webanwendungen zum Tragen, insbesondere bei älteren Releases. Die einfachste und sicher auch professionellste Lösung wird sein, die neusten Versionen von Standardwebanwendungen zum Einsatz zu bringen. Nach unserer Beobachtung unterstützen viele der aktuellen Releases MySQL 8.

https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

Was zu tun ist, wenn sich die Webanwendung nicht updaten lässt

Daneben gibt es Webanwendungen, die sich aus verschiedenen Gründen nicht upgraden lassen. Häufige Gründe sind zeit- und kostenaufwendige Adaptionen der Open-Source-Software, der Einsatz von Drittsoftware (Templates, Erweiterungen) oder ein Mangel an Wissen in der Organisation, nach dem vielleicht der ursprüngliche Programmierer oder die Webdesignerin nicht mehr verfügbar sind.

Sollten die Entwickler selbst das Projekt aufgegeben haben, müsste man sich als Anwender oder Anwenderin fragen, ob der Einsatz mittelfristig noch Sinn ergibt.

Neue Releases erscheinen einerseits, um neue Funktionen einzubringen, andererseits aber auch, um Sicherheitsprobleme zu beseitigen. Daher ist der Verbleib auf älteren Releases wenig empfehlenswert. Dies wird besonders deutlich, wenn man sich vor Augen hält, wie sich Betriebssysteme von Smartphones oder Desktop-PCs sich alleine in den letzten fünf Jahren entwickelt haben. Die Zyklen sind immer kürzer geworden.

Dennoch können versierte Anwender auch betagte Webapplikationen so verändern, dass eine Authentifizierung an der MySQL-Datenbank gelingt. Aus unserer Sicht kann so ein „Patch“ aber nur eine temporäre Lösung sein. Und es ist durchaus einiges an Know How und Erfahrung von Nöten.

Über die Konsequenzen von erfolgreichen Angriffen auf Webanwendung haben wir an dieser Stelle vielfach berichtet.

Während die Vorgängerversionen von MySQL sich hinsichtlich der Funktionalität nicht so stark voneinander unterschieden haben, ist dies mit MySQL 8 etwas anders.

Während in jüngerer Zeit im Bereich der Webapplikationen eher die Frontendtechnologien wie CSS- oder Javascript-Frameworks sowie die Releasepolitik von PHP treibende Faktoren waren, erhielten die Datenbanktechnologien vergleichsweise wenig Aufmerksamkeit.

Eine Datenbank ist wenig sichtbar, wenn auch sicherheitsrelevant und performancebestimmend für viele Anwendungen. Doch in der Wahrnehmung vieler Akteure ist die Datenbank etwas, was im Hintergrund (man sagt ja auch: „Backend“) läuft und wie selbstverständlich zu funktionieren hat.

Mehr Fokus auf Datenbanktechnologie

Wegen der Entwicklungen im Bereich Storage, also der Datenhaltung allgemein und dem steigenden Bedarf an Datenanalysemöglichkeiten (Stichwort „Data Science“) sind Datenbanktechnologien und deren Fähigkeiten wieder stärker ins Bewusstsein der Akteure und Akteurinnen gerückt.

Grundsätzlich verhält sich MySQL 8 immer noch, was die praxisnahen Funktionen und SQL-Anweisungen angeht, weitgehend wie die Vorversionen , so dass existierende Anwendungen ohne wirklich tiefgreifende Änderungen sowohl ältere als auch neue MySQL-Versionen unterstützen könnten.

Künftig ist aber damit zu rechnen, dass neue Funktionen, die im Release 8 implementiert worden sind, nach und nach auch in den künftigen Versionen der Standard-Webanwendungen genutzt werden.

Schon jetzt werden Funktionen, Schreibweisen für Ausdrücke und Variablen aus früheren Tagen noch mitgenommen, aber als „deprecated“ gekennzeichnet, so dass all die Programmierer*innen und Entwickler*innen sich darauf einstellen können, dass so markierte Funktionen bald verschwunden sein werden.

Ein Beispiel für die Adaption von MySQL 8 liefert Nextcloud, das für die aktuellen Releases der Software bereits MySQL 8 fordert und unter 5.7 nicht funktioniert.

Sicherlich sind hier die Performancevorteile von MySQL 8 unabdingbar, die für Aufgaben wie Synchronisation über Anwendungen und Enggeräte hinweg wesentlich sind.

Warum goneo auf MySQL 8 schwenkt

Auch als Webhoster sind wir dankbar für die klare Releasestrategie, die diverse Hersteller und Herausgeber von betriebssystemnaher Software etabliert haben. Treue Kunden und Kundinnen kennen unseren Umgang mit den Releases von PHP. Wenn ein Release bei PHP den Status „end of life“ erreicht hat, beendet auch goneo die Unterstützung für diese Version einige Zeit später. Eine stabilisierte Releasepolitik  schuf Möglichkeiten für bessere Planung und Investitionsschutz bei Webseitenbetreibern.  

Unser Unternehmensname lautet nicht „go ancient“ oder „go old“, sondern „goneo“. Es ist erklärtes Ziel, stets eine aktuelle technologische Plattformen mit aktueller Infrastruktur anzubieten, weil unsere Kundinnen und Kunden ihrerseits aktuelle bis neuste Releases ihrer Lieblingsanwendung einsetzen wollen.

Was Nutzer von Webanwendungen tun können, deren Software sich nicht aktualisieren lässt

Aus unterschiedlichsten Gründen kommt es vor, dass eine Webanwendung nicht mit dem Datenbankstandard MySQL 8 kompatibel ist.

Es ist möglich, dass die Entwicklung der Anwendung sehr individuell war oder die Open-Source-Anwendung so stark adaptiert worden ist, dass die integrierten Updateroutinen nicht mehr greifen.

Unter Umständen verhindern zusätzliche Komponenten wie Templates, Erweiterungen, eigene Filter oder Hacks (gemeint sind punktuelle Änderungen im Code ohne „böse Absicht“) die Möglichkeit, auf die nächsthöhere Version zu wechseln, ohne Daten- bzw. Funktionsverlust fürchten zu müssen.

So können Anwender und Anwenderinnen prüfen, ob eine spezielle Webanwendung mit MySQL 8 kompatibel ist

Leider sind Experimente, mit den man wie bei PHP einfach ausprobieren könnte, ob die Website mit einer anderen Datenbankversion auch funktioniert, oft schwierig. Man müsste die Anwendung und zumindest die Datenbankinhalte duplizieren. Anschließend könnte man diese Kopie in einer Umgebung mit MySQL 8 versuchen, auszuführen.

Grundsätzlich ein denkbarer und gangbarer Weg. Allerdings lassen sich MySQL 5.7 und MySQL 8 nur sehr schlecht parallel betreiben und eine nutzbare 1:1 Kopie der Websitedatenbank herzustellen, ist auch aufwendig.

Wenn es sich um eine Standardwebanwendung handelt, ist in den meisten Fällen auf der Website der Hersteller oder Herausgeber der Webanwendung eine Information zu finden, die Aufschluss darüber gibt, mit welchen Versionen von PHP und MySQL diese Software betrieben werden kann. Notfalls hilft eine Nachfrage.

Externe Hilfe

Zumeist wissen auch andere Anwender oder Anwenderinnen weiter und können helfen. Im Web gibt es, je nach Webapplikation, viele Foren und Hilfeseiten und viele Userinnen und User standen schon vor dem Problem.

EIn guter Weg kann es auch sein, einen ausgewiesenen Spezialisten oder eine Spezialistin für diese Fragestellung zu gewinnen. Oft können diese Personen helfen, um eine bestehende Webapplikation entsprechend zu bearbeiten. Es sollte aber erwähnt werden, dass dies kaum kostenneutral möglich sein wird.

Es kann Umstände geben, in denen aufgrund geänderter Strukturen in der Datenhaltung in einer Anwendung der gesamte usergenerierte Inhalt nicht mehr verwendbar ist.

Langfristig benötigt man in diesem Fall eine angepasste Strategie für eine Weiterentwicklung. Für den Moment kann es jedoch sinnvoll sein, die alte Version mit alter Datenbank weiter zu nutzen, um parallel dazu eine Neuausrichtung vorzubereiten.

Aus diesem Grund wird goneo für die Zeit bis zum Ende der offiziellen Unterstützung von MySQL 5.7 im Oktober 2023 gesonderte Server für die Datenbankversion MySQL 5.7 zur Verfügung stellen.

Weiterbetrieb von MySQL 5.7 bei goneo bis Oktober 2023

Wer also MySQL 5.7 noch weiter nutzen möchte oder muss, kann dies bei goneo tun.

Dennoch ist unter Umständen eine Anpassung der Webanwendung nötig. Die Zugangsdaten für die Datenbank werden sich möglicherweise ändern. Bisher konnte man als Datenbankserverangabe stets „localhost“ verwenden.

Wir wollen einen Mechanismus bereitstellen, der dafür sorgt, dass die aktuell vorhandenen Webanwendungen mit kleineren Modifikationen weiter betrieben werden können. Diesen Vorgang wird man aller Voraussicht nach im goneo-Kundencenter auslösen können. Wir geben Bescheid, sobald die Funktion zur Verfügung steht.

Wie goneo MySQL 5.7-Anwender und -Anwenderinnen unterstützt

Wir werden zu gegebener Zeit an dieser Stelle gezielte Hinweise zu einzelnen Standardwebanwendungen geben und diese Seite laufend aktualisieren.

WordPress CMS

Für das sicherlich meistgenutzte Content Manage System auf PHP/MySQL-Basis, WordPress, lässt sich sagen, dass seit Version 4.9 eine Unterstützung von MySQL 8 gegeben ist.

Joomla

Bei goneo-Usern finden wir Joomla-Installationen mit unterschiedlichen Release-Angaben:

Joomla! – Open Source Content Management Version 2.5.28
Version 2.5.9
Version 3.1.5
Version 3.10.2
Version 3.10.6
Version 3.10.8
Version 3.10.9
Version 3.8.3
Version 3.9.16
Version 3.9.25
Version 3.9.3

Aktuelle Version ist Joomla 4, die mit MySQL 8 funktioniert.

Die Frage zu Joomla und MySQL 8 wurde von Joomla-Usern auch bereits diskutiert. Manche Versionen unter Joomla 3.x können modifiziert werden. Dies ist hier beschrieben: https://docs.joomla.org/Joomla_and_MySQL_8/de .


Weitere uns bekannte Verträglichkeiten oder Unverträglichkeiten werden wir hier in dieser Tabelle bereitstellen und die Informationen kontinuierlich aktualisieren.