Moin fhem'ler.
Ich muss hier doch noch einmal anknüpfen. Ich habe mein fhem logging bereits erfolgreich in eine mysql Datenbank "fhemmain" auf dem Host "datapool" migriert. Funktioniert alles sehr gut.
Die db.conf liegt in .contrib/dblog/db.conf und beinhaltet:
####
%dbconfig= (
connection => "mysql:database=fhemmain;host=datapool;port=3306",
user => "fhemuser",
password => "passwortABC",
# optional enable(1) / disable(0) UTF-8 support (at least V 4.042 is necessary)
utf8 => 1
);
###
Und fhem speichert alles schön hier hinein. Wunderbar...
Nun versuche ich, die fhem-Konfiguration auch in eine Datenbank "configDBfhemmain" zu verschieben.
Hierzu habe ich die Datei configDB.conf ins fhem-Verzeichnis kopiert mit folgendem Inhalt:
%dbconfig= (
connection => "mysql:database=configDBfhemmain;host=datapool;port=3306",
user => "fhemuser",
password => "passwortABC"
);
Beide Datenbanken "fhemmain" und "configDBfhemmain" existieren. Host "datapool" ist erreichbar.
Auch habe die notwendigen Module nachinstalliert (z.B. Text::Diff)
Wenn ich in fhem nun "configdb migrate" versuche (mit global verbose auf "5"), bricht fhem sofort ab. Ich muss fhem dann wieder mit "fhem.cfg" starten.
Die Meldung im LOG ist:
2018.04.01 18:14:16.864 4: Connection accepted from WEB_192.168.6.10_64849
2018.04.01 18:14:16.866 4: WEB_192.168.6.10_64849 POST /fhem&fw_id=31&room=System&cmd=configdb+migrate; BUFLEN:0
2018.04.01 18:14:16.866 5: Cmd: >configdb migrate<
2018.04.01 18:14:16.867 5: Loading ./FHEM/98_configdb.pm
2018.04.01 18:14:16.939 1: PERL WARNING: Use of uninitialized value $cfgDB_dbconn in pattern match (m//) at configDB.pm line 237.
2018.04.01 18:14:16.940 1: PERL WARNING: Use of uninitialized value $cfgDB_dbconn in pattern match (m//) at configDB.pm line 239.
2018.04.01 18:14:16.940 1: PERL WARNING: Use of uninitialized value $cfgDB_dbconn in pattern match (m//) at configDB.pm line 241.
2018.04.01 18:14:16.957 4: configdb: migration requested.
2018.04.01 18:14:16.957 4: Starting migration
2018.04.01 18:14:16.957 4: Processing: cfgDB_Init
2018.04.01 18:14:16.957 1: PERL WARNING: Use of uninitialized value $cfgDB_dbconn in concatenation (.) or string at configDB.pm line 750.
Can't connect to data source 'dbi:' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at configDB.pm line 750.
Wo übersehe ich etwas?
Der unterschiedliche Name der Datenbanken ("fhemmain" und "configDBfhemmain") sollte ja wohl kein Problem sein.
Auch, wenn ich die configDB in "fhemmain" umnenne, gehts nicht.
Ich komme nicht weiter. Hat jemand eine Idee oder kann mich auf meinen Denkfehler hinweisen?
Besten Dank.
Zitat von: steevieb am 01 April 2018, 18:52:25
Hierzu habe ich die Datei configDB.conf ins fhem-Verzeichnis kopiert mit folgendem Inhalt:
Wem "gehört" die Datei und welche Rechte liegen auf der Datei?
Darf FHEM überhaupt lesen oder hast Du die Datei als root kopiert?
Zitat von: betateilchen am 03 April 2018, 19:36:06
Wem "gehört" die Datei und welche Rechte liegen auf der Datei?
Darf FHEM überhaupt lesen oder hast Du die Datei als root kopiert?
Die Datei gehört root:root, hat aber 3x RW. Sollte also von alle gelesen werden können. Allerdings läuft die fhem Installation in einem Docker.
Zitat von: steevieb am 04 April 2018, 23:01:11
Die Datei gehört root:root, hat aber 3x RW. Sollte also von alle gelesen werden können.
Das sollte passen, auch wenn man sowas eigentlich nicht machen sollte.
Zitat von: steevieb am 04 April 2018, 23:01:11
Allerdings läuft die fhem Installation in einem Docker.
Das könnte ein Problem sein (war in der Vergangenheit schonmal eines).
Aber da kann ich Dir nicht weiterhelfen, mit Docker habe ich seit Ewigkeiten nichts gemacht und über das "Spielstadium" bin ich damals nicht rausgekommen.
Offenbar findet Deine FHEM Installation die configDB.conf nicht an der Stelle, an der sie erwartet wird. Oder die Datei hat nicht den korrekten Inhalt (Stichwort Persistenz)