[Gelöst] DBlogging nach Umzug nicht erreichbar

Begonnen von SamNitro, 01 September 2020, 16:14:00

Vorheriges Thema - Nächstes Thema

SamNitro

Hallo zusammen,
ich versuche gerade mein FHEM umzuziehen...

vorher war alles auf einem Rapsi, jetzt in container. Sprich FHEM extra und MariaDB.

Die configDB läuft weil alle Geräte da sind, aber das DBlogging noch nicht.
DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at ./FHEM/93_DbLog.pm line 3018.


frage mich warum der auf host=localhost sucht??

Mein List vom Device
Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION /opt/fhem/configDB.conf
   DEF        /opt/fhem/configDB.conf .*:.*
   FUUID      5c473504-f33f-19ae-e811-c6319f12602f8585
   FVERSION   93_DbLog.pm:v4.10.2-s22246/2020-06-23
   MODE       asynchronous
   MODEL      MYSQL
   NAME       DBLogging
   NR         57
   NTFY_ORDER 50-DBLogging
   PID        226
   REGEXP     .*:.*
   STATE      DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at ./FHEM/93_DbLog.pm line 3018.

   TYPE       DbLog
   UTF8       0
   dbconn     mysql:database=fhem;host=localhost;port=3306
   dbuser     fhemuser
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at ./FHEM/93_DbLog.pm line 3018.

     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.10.2
   READINGS:
     2020-09-01 16:08:13   CacheUsage      11
     2020-09-01 16:08:13   NextSync        2020-09-01 16:09:13 or if CacheUsage 500 reached
     2018-10-31 06:15:22   countCurrent    37
     2018-10-31 06:15:22   countHistory    29878
     2020-08-31 03:00:01   lastRowsDeleted 279
     2020-08-31 03:00:02   reduceLogState  reduceLogNbl finished. Rows processed: 7385, deleted: 1552, updated: 52, time: 2.00sec
     2020-09-01 16:09:07   state           DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at ./FHEM/93_DbLog.pm line 3018.

Attributes:
   DbLogSelectionMode Include
   DbLogType  Current/History
   asyncMode  1
   cacheLimit 500
   room       Fhem,Log
   syncInterval 60



################################################################
%dbconfig= (
        connection => "mysql:database=fhem;host=10.1.1.7;port=3306",
        user => "fhemuser",
        password => "XXXXX",
        utf8 => 1
);
################################################################
#



Jemand eine idee? oder wo ich suchen muss?

LG Patrick
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

kadettilac89

#1
passen die Berechtigungen der db config? Wenn der Container keine Leserechte hat dann versucht er vermutlich ein Default ... Komisch wenn DB-Config geht aber DB-Log nicht.

Am besten machst mal IM CONTAINER ein


su fhem
cat /opt/fhem/configDB.conf


Das sollte dir die korrekte Config anzeigen.

Ich nutze kein configDB. Ist es richtig, dass DB-Log und Config-DB die selbe Config-Datei verwenden? In deinem DB-Log nutzt du nämlich die Config von Config-DB.

Edit: alternativ zu dem Befehl oben ... in der FHEM-Commandline, ich meine die Zeile oben


{qx(cat /opt/fhem/configDB.conf)}


Ansonsten
mal alles durchstarten .. wenn du alles neu eingerichtet hast sind vielleicht noch Dateien nicht geschrieben, ... sollte nicht sein, hilft aber manchmal

Config-Check im DB-Log ausführen und schaun was da alles steht ...

SamNitro

Danke für den Denkanstoß...

durch den "Config-Check" und "configdb filelist" bin ich darauf gestoßen das die Dateien von FHEM auch in der SQL Datenbank sind.

also musste dort die Datei /opt/fhem/configDB.conf auch noch angepasst werden. Jetzt läuft alles.

Danke und einen schönen Abend!
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

kadettilac89

gerne,

anderes Thema ... du hast eine IP als Destination eingetragen. Ist die auch als fix konfiguriert? Ich meine, hast du diese in docker-compose oder dem entsprechenden Tool auch als fix eingetragen, ansonsten könnte sich diese beim erneuten Erzeugen des Containers ändern. Dann hast irgendwann eine DB die nicht erreichbar ist und du suchst dir 'nen Wolf. Normal sind die Container unter einander auch per Hostname (= Docker-Container-name) anpingbar .... wenn du schon konfigurierst dann vielleicht gleich mit Hostname.

SamNitro

#4
Die ist fix eingetragen.
Ich arbeite hier mit Proxmox. Muss mal schauen ob ich das durch einen Hostnamen ersetzen kann, Docker war mir noch zu kompliziert.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Wernieman

DBLog verwendet doch nicht die Config-Datei von DBConfig????

Hast Du gesehen, was Du in Deiner Config stehen hast?
dbconn     mysql:database=fhem;host=localhost;port=3306

Allerdings ist es geraten, verwende beides nicht.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

SamNitro

Zitat von: Wernieman am 02 September 2020, 19:25:36
DBLog verwendet doch nicht die Config-Datei von DBConfig????

Hm bei mir schon... ist beides in der gleichen Datenbank.
mein problem war nur zum einloggen benutzt er die /opt/fhem/configDB.conf Datei im Verzeichnis von FHEM, soweit so gut.

Nachdem er die Datenbank aber geladen hat benutzt er die /opt/fhem/configDB.conf aus der Datenbank, und die war nicht angepasst da stand noch localhost drin.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)