FHEM Forum

FHEM => Sonstiges => Thema gestartet von: maddinthebrain am 27 August 2017, 12:40:23

Titel: [gelöst] dblog Einrichtung scheitert
Beitrag von: maddinthebrain am 27 August 2017, 12:40:23
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
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: Benni am 27 August 2017, 12:43:47
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
Titel: Antw:dblog Einrichtung scheitert
Beitrag 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 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
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: maddinthebrain am 27 August 2017, 15:49:10
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
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: betateilchen am 27 August 2017, 15:56:48
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.
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: DS_Starter am 27 August 2017, 16:08:39
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
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: maddinthebrain am 02 September 2017, 19:36:54
Yaml habe ich gefunden und als apt installiert.

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

Martin
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: amenomade am 03 September 2017, 02:20:53
Eher mysql-server
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: maddinthebrain am 03 September 2017, 06:38:39
Ä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
Titel: Antw:dblog Einrichtung scheitert
Beitrag von: Benni am 03 September 2017, 07:33:58
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

Titel: Antw:dblog Einrichtung scheitert
Beitrag von: DS_Starter am 03 September 2017, 08:57:47
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)

Titel: Antw:dblog Einrichtung scheitert
Beitrag von: amenomade am 03 September 2017, 12:09:41
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.