Ubuntu 20.04 mit MySQL 8.0

  • Hallo!


    Wir würden gerne LiveConfig mit einem neuen Ubuntu 20.04 Server nutzen und haben dabei ein Problem mit dem darin enthaltenen MySQL 8.0, sowie mit der aktuellen Stable Version 2.9.3 als auch mit der Lab/Preview Version liveconfig_2.10.0-dev20200425.1_amd64.deb (die mit Stand "heute" um 21:00 auf der Lab-Seite verlinkte Version liveconfig_2.10.0-dev20200514.4_amd64.deb führt leider zu einem 404er-Fehler...):


    1. MySQL 8.0 wird nicht von LiveConfig erkannt.


    Liegt daran, dass sich die Schreibweise im MySQL-Binary geändert hat:


    Bei Ubuntu 18.04:
    root@server1:/etc/mysql/mysql.conf.d# mysql -V
    mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper


    Bei Ubuntu 20.04:
    root@server2:/usr/lib/liveconfig# mysql -V
    mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))


    Testweise Änderung in der Datei /usr/lib/liveconfig/lua/mysql.lua führt dazu, dass MySQL nun erkannt wird:
    local function getBinaryVersion(bin)
    -- ...
    -- local v = string.match(ret, "Distrib (%d+%.%d+[%.%d+]*)")
    local v = string.match(ret, "Ver (%d+%.%d+[%.%d+]*)")
    -- ...
    end


    2. Es ist keine Verbindung zur MySQL-Datenbank mit dem root-User möglich:


    [2020/05/15 17:51:18.191222] [68655|68655] Pushing LCCP job into queue: 'LC.db.connect'
    [2020/05/15 17:51:18.191319] [68655|68657] Handling LCCP command 'LC.db.connect'
    [2020/05/15 17:51:18.193688] [68655|68657] Error while connecting to MySQL server: Error in server handshake
    [2020/05/15 17:51:18.193746] [68655|68657] LCCP command 'LC.db.connect' finished.


    Legt man das root-Passwort analog wie in der MySQL-Version 5.7 an, bekommt man von MySQL zwar keine Fehlermeldung, aber es wird nicht verwendet. Erst, wenn man das root-Passwort von MySQL unter Angabe des Authentication Plugins "mysql_native_password" angibt, zeigt LiveConfig nach der Angabe dort "Verbunden" an:


    mysql -p
    connect mysql;
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
    flush privileges;
    quit


    3. Wenn man dann eine Datenbank (z.B. im Rahmen der Installation einer Anwendung) anlegen möchte, wird der Versuch mit einer Fehlermeldung abgebrochen, die mit Punkt 2 zusammenhängen dürfte und damit, dass bei MySQL 8.0 das Default Authentication Plugin umgestellt wurde:


    [2020/05/15 19:02:44.298454] [71496|71496] Pushing LCCP job into queue: 'LC.db.add'
    [2020/05/15 19:02:44.298522] [71496|71501] Handling LCCP command 'LC.db.add'
    [2020/05/15 19:02:44.321479] [71496|71501] Error while creating new database 'phpmyadmin' (user 'hugo'): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'hugopass'' at line 1
    [2020/05/15 19:02:44.321615] [71496|71501] LCCP command 'LC.db.add' finished.


    Ein Umstellen des Default Authentication Plugins in der MySQLd-Konfig (siehe auch https://mysqlserverteam.com/up…on-plugin-considerations/) hat leider keine Besserung gebracht...


    Was nun, was tun?


    Bitte um eure Hilfe!


    Beste Grüße
    MKovacs i.V.f. ThomasG

  • Kurz gesagt: Ubuntu 20.04 wird aktuell von LiveConfig (v2.9.x) noch nicht unterstützt.
    Mit den Anpassungen für CentOS 8 sind wir durch, Ubuntu 20 startet diese Woche. Es dürfte also in den nächsten 1-2 Tagen ein Update der Preview-Version geben, mit dem dann zumindest die MySQL-Anbindung schon mal getestet wurde.


    Viele Grüße


    -Klaus Keppler

  • Vielen Dank für die Inputs!


    Ad MariaDB:
    Nachdem wir kurz vor dem Erscheinen von Ubuntu 20.04 bereits einen Webserver für mehrere Sites brauchten, haben wir Ubuntu 18.04.4 und die Standardinstallation von LiveConfig mit MySQL dafür verwendet, damit alles getestet und Anpassungen gemacht, damit es mit der dortigen MySQL-Version läuft. Jetzt brauchen wir in dieser Umgebung einen zweiten Webserver, sodass ich da eigentlich nicht DBMS switchen möchte.


    Ad Preview-Version:
    Vielleicht kann man da ja gleich die Erkenntnisse von oben aus 1 und 2 zumindest ansatzweise nutzen... ;) Dann werde ich mal in unserem Projekt die Info weitergeben, dass der neue Server noch ca. 2 Tage braucht - bin mal optimistisch, dass das auf Anhieb funktionieren wird! :)

  • Unsere Testumgebung für Ubuntu 20.04 LTS steht nun auch.
    Wie sich in den letzten Tagen herausgestellt hat ist der mit LiveConfig mitgelieferte MariaDB-Client (MariaDB Connector/C 3.1.8) leider nicht mit der auth_socket-Authentifizierung von MySQL 8 kompatibel. Wir klären das gerade mit MariaDB ab.
    Für Ubuntu 20 ist das also erstmal ein Showstopper, da der root-Account dort standardmäßig mit auth_socket eingerichtet ist (was ja prinzipiell nicht verkehrt ist). Workaround ist vorerst also die root-Authentifizierung umzustellen (wie in Beitrag #1 beschrieben).


    Mit LiveConfig v2.10.0-dev20200522.1 (aktuelle Preview, geht gleich online) funktioniert die Erkennung von MySQL 8 sowie das Anlegen/Bearbeiten/Löschen von Datenbanken. Hier waren aufgrund von Änderungen im Authentifizierungssystem ebenfalls Anpassungen erforderlich.


    Viele Grüße


    -Klaus Keppler

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!