Hauptmenü

Unterstützung MySQL 8

Begonnen von f.goecking, 23.09.2020 17:11:44

⏪ vorheriges - nächstes ⏩

f.goecking

Hallo zusammen,
wir haben im Zuge einer Datenbankmigration unser KIX (17.12.0) auf MySQL 8.0 umgestellt - natürlich nicht darauf geachtet, dass es nicht unterstützt wird. Die Frage ist, ob es in naher Zukunft eine Unterstützung geben wird bzw. vielleicht einen einfachen Workaround gibt um KIX unter MySQL 8 zum Laufen zu bekommen. Aktuell festgestelltes Problem ist die Tabelle "groups" - da es sich dabei um ein reserviertes Schlüsselwort handelt kann das KIX nicht so einfach auf diese Tabelle zugreifen. Als Resultat kann man z.B. keine neue Queue anlegen, da die Liste der Gruppen leer ist.


Mein aktueller Workaround (bitte nicht wundern, ich hatte keine Lust zurück auf MySQL 5.7 zu wechseln) ist, dass ich entsprechende Stellen im Code geändert habe und den Tabellennamen escape (aus groups wird `groups`).

Jörg Brückner

Hallo Herr Goecking,


ich habe zu Ihrer Frage einmal in unseren Produktmanagement angefragt und folgende Info erhalten:

"Nein, wird es nicht. Der Grund ist ganz einfach - es gibt unter mySQL 8 schon "vorbesetzte" Benamungen von Tabellen, die mit KIX kollidieren (groups)"


ein Tipp:
Der Kunde kann ja mariaDB nehmen, das ist eine ähnliche Alternative, falls sein OS kein älteres mySQL mehr unterstützt



Herzliche Grüße
Jörg


kornexl

Leider ist ab einer gewissen Version von Mysql kein einfacher Wechsel zu mariadb mehr möglich.
Bin in diese Sackgasse gelaufen, weil ich einen Update von Ubuntu (do-release-upgrade) auf einem Testsystem gemacht habe.


Ich habe meine Erkenntnisse in einem Support-Ticket zusammengefasst.


Wo kann diese Änderung von groups zu `groups` gemacht werden?

f.goecking

Hallo Herr Brückner,
zunächst einmal vielen Dank für Ihre Antwort. Wir sind gerade von MariaDB auf Percona 8 gewechselt, aufgrund einiger Infrastruktur Änderungen. Ich hoffe dann einfach, dass in einem zukünftigen Major-Release eine Kompatibilität mit MySQL 8 hergestellt wird - unser Workaround läuft nun seit 2 Wochen und wir haben seitdem keine Probleme mehr. Da mein Workaround jetzt auch nicht besonders groß ist, sehe ich da eigentlich keine Probleme diesen einzuspielen und damit das KIX MySQL 8 kompatibel zu machen.


@kornexl:

Das KIX nutzt für die Gruppen eine Tabelle mit der Bezeichnung groups. Leider ist dies unter MySQL 8.0 ein reserviertes Schlüsselwort und darf so nicht genutzt werden. Ein Workaround ist es den Tabellennamen in `` zu setzen ( `groups` ). Die muss an folgenden Stellen passieren:

       
  • Kernel/System/Group.pm => Alle Stellen an denen auf die Tabelle per SQL-Query zugegriffen wird
  • Kernel/Modules/AdminQueue.pm => Ungefähr Zeile 480, hier wird auf den Namen der Tabelle verwiesen (Suche per 'groups')

Das hab ich mir als Notiz für kommende Updates notiert, ich hoffe das hilft dir weiter.


Grüße Felix

kornexl

Habe noch zwei weitere Dateien gefunden:
/op/kix/Kernel/System/CustomerGroup.pm[/size]

/opt/kix/Kernel/System/SupportDataCollector/Plugin/KIX/DatabaseRecords.pm


Leider findet das System immer noch meine Rolle als admin nicht und ich habe keinen Admin-Zugang und sehe keine Tickets.


Habe auch schon den Cache gelöscht (Maint::Cache::Delete)