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