Antworten auf Ihre häufigsten Fragen

Update MySQL 5.7 auf MySQL 8.0.35 auf der Classic Hosting Plattform

English Version below

In diesem Artikel erhalten Sie Informationen zum bevorstehenden Update von MySQL 5.7 auf MySQL 8.0.35

 

Wann findet die Aktualisierung statt?

Die Umstellungen finden seit Ende Oktober statt. Sie erhalten individuelle Wartungstermine für Ihr System per E-Mail.

 

Warum ist das Update notwendig?

Der Support für MySQL 5.7 läuft am 21.10.2023 aus. Daher ist ein Update aller Server auf MySQL 8.0.35 notwendig, die bisher MySQL 5.7 bereitstellen. Webanwendungen, Skripte als auch die Betriebssystemsoftware müssen auf dem aktuellsten Stand gehalten werden, damit zum einen das Betriebssystem keine Sicherheitslücken aufweist und Sie Ihre Webanwendungen, welche ggf. neue Funktionen des Server benötigen, weiter verwenden können.



Sind kundenseitig Skriptanpassungen notwendig?

In MySQL 5.7 und 8.0.35 gab es einige Änderungen, Sie finden diese unter den folgenden beiden Links.

Übersicht für 5.7: https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html
Übersicht für 8.0: https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

Eine der relevantesten Änderung ist der Wert für den SQL Mode.
Dieser ist nun auf das folgende gesetzt: "ONLY_FULL_GROUP_BY,​STRICT_TRANS_TABLES,​NO_ZERO_IN_DATE,​NO_ZERO_DATE,​ERROR_FOR_DIVISION_BY_ZERO,​NO_ENGINE_SUBSTITUTION"


Des Weiteren gibt es eine Änderung der Default Werte für character_set_server und Collation_server:

Der Standardwert der Systemvariablen character_set_server und character_set_database wurde von latin1 auf utf8mb4 geändert.

Der Standardwert der Systemvariablen collation_server und collation_database wurde von latin1_swedish_ci auf utf8mb4_0900_ai_ci geändert.

ACHTUNG!

Sollten Sie Magento nutzen, lesen Sie die folgende Informationen bitte sorgfältig, es kann sonst zu Problemen mit Ihrer Anwendung kommen.

Magento ist aktuell nicht 100% mit MySQL 8.0.35 kompatibel, es gibt jedoch die Möglichkeit den Fix dafür selber einzubauen.
Die Änderung kann bereits jetzt durchgeführt werden, sodass es nach dem Update zu keinen Problemen kommt.

Dafür muss folgendes getan werden:

1. Die Datei vendor/magento/framework/DB/Adapter/Pdo/Mysql.php mit einem Editor öffnen.

2. Zu Zeile 1846 gehen

3. In die Zeile nach case 'smallint': folgendes hinzufügen: case 'smallint unsigned':

4. In die Zeile nach case 'int': folgendes hinzufügen: case 'int unsigned':

Github Issue wo die Lösung gefunden wurde: github.com/magento/magento2/issues/26465

 

 

 

 

English Version:

Update MySQL 5.7 to MySQL 8.0.35 on Classic Hosting Platform

This article gives you important information about the upcoming change to MySQL 8.0.35.

 

When does the update take place?

The changes have been taking place since the end of October. You will receive individual maintenance dates for your system by e-mail.
 

Why is the update necessary?

The support for MySQL 5.7 expires on 21.10.2023. Therefore, it is necessary to update all servers to MySQL 8.0.35 that previously provided MySQL 5.7. Web applications, scripts as well as the operating system software must be kept up to date, so that the operating system does not have any security gaps and you can continue to use your web applications, which may require new functions of the server.
 

Are script adaptations necessary on the part of the customer?

In MySQL 5.7 and 8.0.35 there were some changes, you can find them under the following two links.

Overview for 5.7: https://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html
Overview for 8.0: https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

One of the most relevant changes is the value for the SQL mode.
This is now set to "ONLY_FULL_GROUP_BY,​STRICT_TRANS_TABLES,​NO_ZERO_IN_DATE,​NO_ZERO_DATE,​ERROR_FOR_DIVISION_BY_ZERO,​NO_ENGINE_SUBSTITUTION"


Furthermore, there has been a change in the default values for character_set_server and collation_server:

The default value of the character_set_server and character_set_database system variables has changed from latin1 to utf8mb4.

The default value of the collation_server and collation_database system variables has changed from latin1_swedish_ci to utf8mb4_0900_ai_ci.


Attention!

If you use Magento, please read the following information carefully, otherwise you may experience problems with your application.

Magento is currently not 100% compatible with MySQL 8.0, but there is a possibility to fix it yourself.
This fix can already be implemented now, so there is no problem after the system update.

The following must be done for this:

1. Open the follwing file in your editor: vendor/magento/framework/DB/Adapter/Pdo/Mysql.php

2. go to line 1846

3. add in the line after  case 'smallint': the following: case 'smallint unsigned':

4. add in the line after 'int': the following: case 'int unsigned':

Github Issue where the solution was found: github.com/magento/magento2/issues/26465

 


otto.friedrich@hosteurope.de xanthippe.ypsilante@hosteurope.de hercules.ikarus@hosteurope.de