FHEM Forum

FHEM => Automatisierung => Thema gestartet von: masterpete23 am 31 Juli 2024, 12:17:38

Titel: dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 31 Juli 2024, 12:17:38
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?
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: betateilchen am 31 Juli 2024, 12:45:31
Man stelle sich vor, die Frage wäre im richtigen Unterforum zu DbLog gestellt... ein Träumchen.
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 31 Juli 2024, 12:53:26
Hi, ich bin nun extra nochmal 2mal durch die index Seite gescrollt - finde keins. Welches meinst du?  :-[
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: Frank_Huber am 31 Juli 2024, 13:18:19
oder einfach mal im Forum nach "dblog sha2" suchen.

https://forum.fhem.de/index.php?topic=125765.msg1203796#msg1203796
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 31 Juli 2024, 16:23:30
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>
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 31 Juli 2024, 16:36:12
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.
Titel: Aw: [gelöst] dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 31 Juli 2024, 17:15:22
Funktioniert nun alles.
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 31 Juli 2024, 17:22:34
zu früh gefreut.
Nach Reboot des mysql dockers wieder keine Verbindung möglich
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: betateilchen am 31 Juli 2024, 18:30:23
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
Titel: Aw: dblog - mysql9 connection nicht mehr möglich
Beitrag von: masterpete23 am 01 August 2024, 08:27:45
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