dblog - mysql9 connection nicht mehr möglich

Begonnen von masterpete23, 31 Juli 2024, 12:17:38

Vorheriges Thema - Nächstes Thema

masterpete23

Hi,

durch einen Konfigfehler in meinem Docker habe ich mysql auf 9 geupgraded.
Nun ist native sql password nicht mehr unterstützt und man muss auf sha2 gehen.
sprich in der DB den user editieren.
Gesagt getan
nun muss aber um sha2 nutzen zu können die Verbindung zu mysql aber auch secure hergestellt werden.

Ist das möglich?
Wenn ja wie?
Oder habe ich eine andere Möglichkeit es wieder lauffähig zu bekommen?

betateilchen

Man stelle sich vor, die Frage wäre im richtigen Unterforum zu DbLog gestellt... ein Träumchen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

masterpete23

Hi, ich bin nun extra nochmal 2mal durch die index Seite gescrollt - finde keins. Welches meinst du?  :-[

Frank_Huber


masterpete23

#4
der Beitrag hinter dem Link funktioniert leider nicht mit mysql9. Dort ist native password nicht mehr verfügbar:
https://dev.mysql.com/doc/refman/9.0/en/caching-sha2-pluggable-authentication.html

Die Suche hatte ich (leider) schon bemüht.

Welchen Client nutzt denn FHEM bei der connection. Vllt. kann ich da ansetzen und etwas an Parametern mitgeben?!

Mit dem OS mysql komm ich ran:

root@fhem-prod:~# mysql -h 192.168.0.146 -u user -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4049
Server version: 9.0.1 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select * from fhem.history limit 10
    ->
    -> ;
+---------------------+----------------------+--------------+-------------------------+------------------+---------+------+
| TIMESTAMP           | DEVICE               | TYPE         | EVENT                   | READING          | VALUE   | UNIT |
+---------------------+----------------------+--------------+-------------------------+------------------+---------+------+
| 2022-11-13 23:00:15 | MQTT2_SP111_03       | MQTT2_DEVICE | ENERGY_Today: 0.016     | ENERGY_Today     | 0.016   |      |
| 2022-11-13 23:00:15 | MQTT2_SP111_03       | MQTT2_DEVICE | ENERGY_Total: 100.892   | ENERGY_Total     | 100.892 |      |
| 2022-11-13 23:00:15 | MQTT2_SP111_03       | MQTT2_DEVICE | ENERGY_Yesterday: 0.039 | ENERGY_Yesterday | 0.039   |      |
| 2022-11-13 23:00:43 | Heizung_Mats_Weather | CUL_HM       | measured-temp: 15.5     | measured-temp    | 15.5    |      |
| 2022-11-13 23:00:43 | Heizung_Mats_Weather | CUL_HM       | state: 15.5             | state            | 15.5    |      |
| 2022-11-13 23:18:13 | Heizung_Mats_Weather | CUL_HM       | measured-temp: 15.3     | measured-temp    | 15.3    |      |
| 2022-11-13 23:18:13 | Heizung_Mats_Weather | CUL_HM       | state: 15.3             | state            | 15.3    |      |
| 2022-11-13 23:20:02 | global               | GLOBAL       | SAVE                    | state            | SAVE    |      |
| 2022-11-13 23:20:15 | MQTT2_SP111_03       | MQTT2_DEVICE | ENERGY_Total: 100.892   | ENERGY_Total     | 100.892 |      |
| 2022-11-13 23:20:15 | MQTT2_SP111_03       | MQTT2_DEVICE | ENERGY_Today: 0.016     | ENERGY_Today     | 0.016   |      |
+---------------------+----------------------+--------------+-------------------------+------------------+---------+------+
10 rows in set (0.01 sec)

mysql>

masterpete23

merkwürdig. Nachdem ich über die commandline einmalig ne Verbindung + Abfrage aufgebaut habe, funktioniert es genau zu de Zeitpunkt im fhem-log.
Vermutlich wurden irgendwelche rsa keys ausgetauscht habe ich so verstanden.

Ich werde rebooten und mal testen.

masterpete23


masterpete23

zu früh gefreut.
Nach Reboot des mysql dockers wieder keine Verbindung möglich

betateilchen

Zitat von: masterpete23 am 31 Juli 2024, 16:23:30Welchen Client nutzt denn FHEM bei der connection.

Hast Du doch selbst installiert: das perl Modul DBD::mysql
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

masterpete23

Ok.
denkt ihr / weiß wer, ob man ssl mitgeben kann?
Wenn ja über welches config file? - das konnte ich noch nicht finden für DBD::mysql bei fhem bzw. bin mir nicht ganz sicher, wenn ich mir hier so den connection aufbau anschaue.
Vermutlich ist es ja das db.conf - nur das Format ist "anders"

$dbh = DBI->connect(
  "DBI:mysql:database=test;host=localhost",
  "",
  "",
  { RaiseError => 1, AutoCommit => 1, mysql_server_prepare => 1 }
);

laut https://metacpan.org/pod/DBD::mysql#mysql_ssl und https://metacpan.org/pod/DBD::mysql#mysql_server_pubkey ist ja etwas möglich

Wenn jemand weiterhelfen kann, würde ich mich freuen