Falsche Collation für UTF8MB4
Folgender Fehler kann bei X4 mit MySQL 8 auftauchen:
MySQL ändert die default_collation_for_utf8mb4 zw. MySQL 5.7 und 8.0 von utf8mb4_general_ci auf utf8mb4_0900_ai_ci
Siehe: https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_collation_for_utf8mb4
Das hat zur Folge, dass X4 Dumps, die auf MySQL 8 eingespielt werden inkompatible Collations bei sehr vielen Datenbankfeldern haben.
Wenn anschließend ein Datenbankupdate ausgeführt wird (ausführen der from_current.sql) kommt es zu Fehlern.
Leider kann diese Default-Einstellung in MySQL 8 nicht permanent geändert werden.
Lt. https://bugs.mysql.com/bug.php?id=96335
bzw.: https://stackoverflow.com/questions/60929902/mysql-table-collation-differs-from-database-collation-on-windows
scheint es sich dabei um einen Bug zu handeln.
Einzige funktionierende Lösung die bisher gefunden werden konnte:
Vor dem Einspielen das Dumps über die Workbench muss unbedingt folgender Befehl ausgeführt werden:
SET @@GLOBAL.default_collation_for_utf8mb4 = utf8mb4_general_ci;
Damit wird diese Einstellung gesetzt.
Anschließend kann der Dump mittels MySQl Workbench korrekt eingespielt werden.
Das Problem tritt nur bei X4 Dumps auf, die in MySQL 8 eingespielt werden.
Ältere Dumps können wie bisher eingespielt werden.
Auch ein Update einer X3 auf X4 unter MySQL 8 ist kein Problem.
Vorsicht also beim wieder Einspielen von Backups bzw. bei Serverumzügen