[gelöst] dblog Einrichtung scheitert

Begonnen von maddinthebrain, 27 August 2017, 12:40:23

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo Leute,

ich wollte mein logging auf MySQL umstellen. Das Ganze scheiter allerdings bei der Definition von Device. Siehe Wiki-Artikel zu DBlog.

Fhem stürzt ab nicht aber ohne Logfile-Eintrag:
DbLog logdb: Creating Push-Handle to database mysql:database=fhem;host=ls-qvl500.fritz.box;port=3306 with user raspi
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at (eval 36) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 2136.


Was läuft da falsch? Wie kann man das kurieren?

lg Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Benni

Steht doch da:

Zitat
you may need to install the DBD::mysql module

dir fehlt das erforderliche mysql Perl-Modul. Über CPAN oder apt-get nachinstallieren.

s.a. http://commandref.fhem.de/#DbLog

DS_Starter

Habe registriert dass FHEM in diesem Fall abstürzt und werde im nächsten Release von DbLog den Fehler an dieser Stelle abfangen, damit kein Absturz mehr passiert und stattdessen die entsprechenden Informationen im state bzw. im Log ausgegeben werden.

Den Fehler muss man natürlich weiterhin, so wie Benni geschrieben hat, manuell beseitigen.

Grüße
Heiko
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

maddinthebrain

Ok, alles klar, Hab ich versucht.

sudo cpan -i DBI hat funktioniert

aber

sudo cpan -i DBD::mysql bringt:
sudo cpan -i DBD::mysql
Reading '/root/.cpan/Metadata'
  Database was generated on Sun, 27 Aug 2017 11:41:02 GMT
Running install for module 'DBD::mysql'
Checksum for /root/.cpan/sources/authors/id/M/MI/MICHIELB/DBD-mysql-4.043.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring M/MI/MICHIELB/DBD-mysql-4.043.tar.gz with Makefile.PL
Can't exec "mysql_config": Datei oder Verzeichnis nicht gefunden at Makefile.PL line 88.

Cannot find the file 'mysql_config'! Your execution PATH doesn't seem
not contain the path to mysql_config. Resorting to guessed values!


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the
database user 'root' can connect to your MySQL server
and has the proper privileges that these tests require such
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others.

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

Can't exec "mysql_config": Datei oder Verzeichnis nicht gefunden at Makefile.PL line 561.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Failed to determine directory of mysql.h. Use

  perl Makefile.PL --cflags=-I<dir>

to set this directory. For details see DBD::mysql::INSTALL,
section "C Compiler flags" or type

  perl Makefile.PL --help
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  MICHIELB/DBD-mysql-4.043.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK


BEI sudo cpan -i YAML kommt

Reading '/root/.cpan/Metadata'
  Database was generated on Sun, 27 Aug 2017 11:41:02 GMT
Running install for module 'YAML'
Checksum for /root/.cpan/sources/authors/id/I/IN/INGY/YAML-1.23.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring I/IN/INGY/YAML-1.23.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for YAML
Wide character in print at /usr/share/perl/5.20/ExtUtils/MakeMaker.pm line 1172.
Wide character in print at /usr/share/perl/5.20/ExtUtils/MakeMaker.pm line 1172.
Wide character in print at /usr/share/perl/5.20/ExtUtils/MakeMaker.pm line 1172.
Writing MYMETA.yml and MYMETA.json
  INGY/YAML-1.23.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for I/IN/INGY/YAML-1.23.tar.gz
---- Unsatisfied dependencies detected during ----
----           INGY/YAML-1.23.tar.gz          ----
    Test::YAML [build_requires]
Running install for module 'Test::YAML'
Fetching with LWP:
http://www.cpan.org/authors/id/I/IN/INGY/Test-YAML-1.06.tar.gz
Checksum for /root/.cpan/sources/authors/id/I/IN/INGY/Test-YAML-1.06.tar.gz ok
Uncompressed /root/.cpan/sources/authors/id/I/IN/INGY/Test-YAML-1.06.tar.gz successfully
Using Tar:/bin/tar xf "Test-YAML-1.06.tar":
Couldn't untar Test-YAML-1.06.tar: child exited with value 0
  INGY/Test-YAML-1.06.tar.gz
  Had problems unarchiving. Please build manually
  INGY/YAML-1.23.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/YAML-1.23-aa8aNy
  INGY/YAML-1.23.tar.gz
  Has already been prepared
Running make for I/IN/INGY/YAML-1.23.tar.gz
Warning: Prerequisite 'Test::YAML => 1.05' for 'INGY/YAML-1.23.tar.gz' failed when processing 'INGY/Test-YAML-1.06.tar.gz' with 'unwrapped => NO -- untar failed'. Continuing, but chances to succeed are limited.
  INGY/YAML-1.23.tar.gz
  /usr/bin/make -- NOT OK

Was fehlt da? ich bin keine Experte...

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

betateilchen

Falls Du ein Debian Linux hast, installiere einfach das entsprechende .deb Paket, dann musst Du Dich nicht mit CPAN rumärgern.

Zitat von: DS_Starter am 27 August 2017, 13:43:55
Habe registriert dass FHEM in diesem Fall abstürzt und werde im nächsten Release von DbLog den Fehler an dieser Stelle abfangen, damit kein Absturz mehr passiert

Das würde ich ganz bewusst NICHT tun.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

ZitatDas würde ich ganz bewusst NICHT tun.

Meinst du es wäre in diesem Fall nicht eindringlich genug  ;)
So ganz kann ich deinen Gedankengang noch nicht folgen ...

Grüße,
Heiko
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

maddinthebrain

Yaml habe ich gefunden und als apt installiert.

Dbd mysql ist schwieriger. Ist das das Paket python-mysqldb?

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

maddinthebrain

Ähm, ich habe einen mysql Server im Netzwerk der auch funktioniert, da brauch ich keinen mehr auf dem raspi... oder doch? Wenn ja ist das doch albern. Es geht doch nur um dieses DBD:mysql. Welches apt-paket ist denn das? Das perl Dingen sagt mir beim cpan während des untar, dass zu wenig Hauptspeicher vorhanden wäre.

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Benni

#9
Du brauchst DBI::mysql

Das sollte im Paket libdbi-perl enthalten sein:

https://packages.debian.org/de/jessie/libdbi-perl

und DBD::mysql

das sollte im Paket libdbd-mysql-perl enthalten sein:

https://packages.debian.org/de/jessie/libdbd-mysql-perl


DS_Starter

ZitatÄhm, ich habe einen mysql Server im Netzwerk der auch funktioniert, da brauch ich keinen mehr auf dem raspi... oder doch?
Nein, brauchst du natürlich nicht. Ich habe meinen MariaDB-Server auf der Synology und logge dort von allen (virtuellen) FHEM-Instanzen.


sudo apt-get install libdbd-mysql libdbd-mysql-perl

sollte es tun was du benötigst (siehe Benni's Beitrag oben)

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

amenomade

ZitatÄhm, ich habe einen mysql Server im Netzwerk der auch funktioniert,
Sorry, wurde erstmal nicht erwähnt. Ich kenne von deiner Konfiguration nur, was Du erzählst!

Eine python Library wird aber klar nicht helfen. Fhem ist in Perl. DS_Starter hat dir die richtige Antwort jetzt gegeben.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus