Ich muss wieder mal die Profis um Hilfe bitten. Die mySQL Datenbank für DbLog ist viele Jahre auf meinem QNAP NAS gelaufen bis dieses durch Blitzschlag verstorben ist. History Dump zum Einspielen ist vorhanden.
Neues NAS - Neues Glück oder eher Pech.
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
Hätte beim Erstellen in SQL des Password in Klartext rein sollen? Mit oder ohne '' ?
Ich stehe an und bitte um Hilfe.