Gelöst: DbLog - NOT Connected

Begonnen von Ajuba, 30 Juli 2022, 21:44:23

Vorheriges Thema - Nächstes Thema

Ajuba

Ich muss wieder mal die Profis um Hilfe bitten. Die mySQL Datenbank für DbLog ist viele Jahre auf meinem alten QNAP NAS gelaufen und auch die Übersiedlung auf ein neues QNAP mit MariaDB hat funktioniert. Nun ist dieses durch Blitzschlag verstorben und ich wollte MariaDB auf einem neuen einrichten. History Dump zum Einspielen ist vorhanden.
Ich scheitere aber am Zugriff von Fhem.

Was habe ich gemacht:
Am NAS MariaDB 5 mit  Port 3306 installiert und ist mit PHPmy Admin erreichbar
über den Reiter SQL die Erstellung gestartet
CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword';
CREATE TABLE `fhem`.`history` (TIMESTAMP TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, DEVICE varchar(64), TYPE varchar(64), EVENT varchar(512), READING varchar(64), VALUE varchar(128), UNIT varchar(32));
CREATE TABLE `fhem`.`current` (TIMESTAMP TIMESTAMP, DEVICE varchar(64), TYPE varchar(64), EVENT varchar(512), READING varchar(64), VALUE varchar(128), UNIT varchar(32));
GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP) USING BTREE;

"Error: #1046 Keine Datenbank ausgewählt" kommt bei
CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword'
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP) USING BTREE

Trotzdem werden folgende Rechte gelistet
Benutzername   Hostname   Typ                           Rechte                                   GRANT   
fhemuser           %           datenbankspezifisch   SELECT,INSERT,UPDATE,DELETE   Nein

Mein db.config ist unverändert wobei ich mich nicht mehr erinnern kann wie ich auf das lange kryptische password gekommen bin und wie die Datenbank was damit anfangen soll. (Anm.: mein Passwort ist fürs Forum geändert zu XXXXXXX)
%dbconfig= (
connection => "mysql:database=fhem;host=192.168.1.21;port=3306",
user => "fhemuser",
password => "XXXXXXXXXXXXXX",
);

Das Komische ist nun der State von dbLog
DBI connect('database=fhem;host=192.168.1.21;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'raspberrypi.fritz.box' (using password: YES) at ./FHEM/93_DbLog.pm line 3235.
Woher kommt der user 'fhemuser'@'raspberrypi.fritz.box' ???
Ja, Fhem läuft auf Raspberry, Ja mein Router ist eine Fritzbox. Aber trotzdem - was soll das?
Hier noch das List von dbLog
Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION /opt/fhem/db.conf
   DEF        /opt/fhem/db.conf .*:.*
   FUUID      60754bb4-f33f-1260-550f-1a08f860cd4df0ae
   FVERSION   93_DbLog.pm:v4.12.1-s24180/2021-04-07
   MODE       asynchronous
   MODEL      MYSQL
   NAME       myDbLog
   NR         259
   NTFY_ORDER 50-myDbLog
   PID        28690
   REGEXP     .*:.*
   STATE      DBI connect('database=fhem;host=192.168.1.21;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'raspberrypi.fritz.box' (using password: YES) at ./FHEM/93_DbLog.pm line 3235.

   TYPE       DbLog
   UTF8       0
   dbconn     mysql:database=fhem;host=192.168.1.21;port=3306
   dbuser     fhemuser
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   DBI connect('database=fhem;host=192.168.1.21;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'raspberrypi.fritz.box' (using password: YES) at ./FHEM/93_DbLog.pm line 3235.

     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.12.1
   READINGS:
     2022-07-24 22:15:53   CacheOverflowLastNum 0
     2022-07-24 20:52:49   CacheOverflowLastState normal
     2022-07-24 22:15:54   CacheUsage      140
     2022-07-24 22:15:53   NextSync        2022-07-24 22:16:23 or if CacheUsage 500 reached
     2022-07-24 22:16:03   state           DBI connect('database=fhem;host=192.168.1.21;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'raspberrypi.fritz.box' (using password: YES) at ./FHEM/93_DbLog.pm line 3235.

   helper:
     bm:
       DbLog_Attr:
         cnt        5
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.07. 21:50:47
         max        0.000101089477539062
         tot        0.000265121459960938
         mAr:
           set
           myDbLog
           asyncMode
           1
       DbLog_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.07. 21:50:47
         max        0.00940513610839844
         tot        0.00940513610839844
         mAr:
           HASH(0x66bb170)
           myDbLog DbLog /opt/fhem/db.conf .*:.*
       DbLog_Get:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.07. 21:50:55
         max        5.69820404052734e-05
         tot        5.69820404052734e-05
         mAr:
           HASH(0x66bb170)
           myDbLog
           ?
       DbLog_Log:
         cnt        1791
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.07. 21:51:27
         max        0.0620942115783691
         tot        2.42345762252808
         mAr:
           HASH(0x66bb170)
           HASH(0x2bc78c0)
       DbLog_Set:
         cnt        154
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.07. 21:51:20
         max        0.00265693664550781
         tot        0.273758172988892
         mAr:
           HASH(0x66bb170)
           myDbLog
           ?
Attributes:
   DbLogSelectionMode Include
   DbLogType  History
   asyncMode  1
   room       CONTROL->FHEM
   verbose    1

Fhem Neustart hat auch nichts gebracht.
Hätte beim Erstellen in SQL des Password in Klartext rein sollen? Mit oder ohne '' ?
Ich stehe an und bitte um Hilfe.
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

DS_Starter

ZitatWoher kommt der user 'fhemuser'@'raspberrypi.fritz.box'

fhemuser ist klar denke ich. Und raspberrypi.fritz.box ist der Hostname deines FHEM-Servers.

Du hast mit


CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword';


dem User fhemuser das Passwort fhempassword zugewiesen. Das muss identisch sein zu dem hinterlegten Passwort
in der db.config, d.h.:


%dbconfig= (
connection => "mysql:database=fhem;host=192.168.1.21;port=3306",
user => "fhemuser",
password => "fhempassword",
);


Natürlich kannst du fhempassword durch ein PW deiner Wahl ersetzen, aber natürlich übereinstimmend in MariaDB uns db.config.

Gerne auch mal im DbLog aufrufen:


set ... configCheck
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Ajuba

DANKE !!!
Es war das Passwort. :-[
Hatte ich zwar auch probiert aber dann wohl nicht neu gestartet.  :-X

Herzlichen Dank
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight