Hauptmenü

DBLog mit MariaDB

Begonnen von okiberlin, 19 Juli 2017, 14:47:37

Vorheriges Thema - Nächstes Thema

DS_Starter

#15
Hallo darkness,

was steht denn im Log beim Start von FHEM ?
Bitte kopiere mal die Zeilen raus die "DbLog" enthalten.

Darf der verwendete Nutzer sich denn von dem speziellen oder jedem Host aus anmelden ? (String "%" im Feld Hostname des Benutzerkontos in der DB)
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

darkness

Hallo DS_Starter,


fhemuser darf sich nur mir localhost anmelden.

hilft dir das weiter?

2017.09.08 19:11:02 3: DbLog logdb: Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2017.09.08 19:11:02 4: DbLog $name: Trying to connect to database
2017.09.08 19:11:02 4: DbLog logdb -> ################################################################
2017.09.08 19:11:02 4: DbLog logdb -> ###              start of new Logcycle                       ###
2017.09.08 19:11:02 4: DbLog logdb -> ################################################################
2017.09.08 19:11:02 4: DbLog logdb -> amount of events received: 1 for device: logdb
2017.09.08 19:11:02 4: DbLog logdb -> check Device: logdb , Event: state: disconnected
2017.09.08 19:11:02 4: DbLog logdb -> added event - Timestamp: 2017-09-08 19:11:02, Device: logdb, Type: DBLOG, Event: state: disconnected, Reading: state, Value: disconnected, Unit:
2017.09.08 19:11:02 4: Waiting for database connection
2017.09.08 19:11:02 4: DbLog logdb -> ################################################################
2017.09.08 19:11:02 4: DbLog logdb -> ###              start of new Logcycle                       ###
2017.09.08 19:11:02 4: DbLog logdb -> ################################################################
2017.09.08 19:11:02 4: DbLog logdb -> amount of events received: 1 for device: stat_utg
2017.09.08 19:11:02 4: DbLog logdb -> check Device: stat_utg , Event: state: Updated stats for: kueche.utg
2017.09.08 19:11:02 4: DbLog logdb -> added event - Timestamp: 2017-09-08 19:11:02, Device: stat_utg, Type: STATISTICS, Event: state: Updated stats for: kueche.utg, Reading: state, Value: Updated stats for, Unit: kueche.utg
2017.09.08 19:11:02 4: DbLog logdb -> ################################################################
2017.09.08 19:11:02 4: DbLog logdb -> ###              start of new Logcycle                       ###
2017.09.08 19:11:02 4: DbLog logdb -> ################################################################
2017.09.08 19:11:02 4: DbLog logdb -> amount of events received: 1 for device: logdb
2017.09.08 19:11:02 4: DbLog logdb -> check Device: logdb , Event: state: Can't connect to database.
2017.09.08 19:11:02 4: DbLog logdb -> added event - Timestamp: 2017-09-08 19:11:02, Device: logdb, Type: DBLOG, Event: state: Can't connect to database., Reading: state, Value: Can't connect to database., Unit:

DS_Starter

Zitatfhemuser darf sich nur mir localhost anmelden.
Jetzt habe ich natürlich ganz vergessen zu fragen wo die DB läuft. Also mit auf dem RPi oder läuft die DB und FHEM getrennt.

Wenn es getrennt läuft, müsste der fhemuser die Berechtigung bekommen sich von dem FHEM-Host aus anzumelden (im einfachsten Fall "%").

Den Zugriff kannst du vom RPi aus testen mit

mysql -u fhemuser -p -h <IP des DB-Host>

Schau auch mal ob auf dem RPi die Client-Software installiert ist:

sudo apt-get install mysql-client

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

darkness

Mariadb läuft lokal.
Login per Konsole mit Fhemuser funktioniert.


Kurze Antwort per Handy

DS_Starter

Kann mir momentan schlecht vorstellen was hier das Problem sein könnte.
DbLog kann das Konfigfile lesen, sonst kämen schon Fehlerhinweise beim FHEM-Start. Sicherheitshalber kannst du das Konfigfile nochmal neu erstellen (ohne Cut & Paste).
Statt localhost kannst du mal die (eigene) IP-Adresse angeben und schauen wie es dann aussieht.

Ansonsten wären eventuell noch Fehlerhinweise in der MySQL Logdatei zu finden. Sie sollte hier zu finden sein:

ZitatThe error log is active by default. The log-error=filename option determines where the output will be written. If no file name is specified, the log will be written to host-name.err. If no absolute path is specified, the file will be written to the data directory (determined by the value of the datadir system variable).
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

darkness

Habe gerade die Datenbank und den User neu angelegt. Jetzt läuft es  :o
Die db.conf hatte ich vom alten Rechner mit umgezogen, die Datenbank als Dump eingespielt.

Naja, jetzt scheint es zu laufen. Vielen Dank für die Hilfe!

Gruß

Franky1992

Hallo Leute,

bekomme die Verbindung leider auch nicht hin.
Ich habe den MariaDB Server auf einer separaten Virtuellen Maschine.

hier der auszug aus dem LOG:

2018-02-13 15:26:26 DbLog test 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/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at (eval 4556) 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, Sponge.  at ./FHEM/93_DbLog.pm line 2277.
2018-02-13 15:26:26 DbLog test disconnected
2018-02-13 15:26:26 DbLog test Can't connect to database.
2018-02-13 15:26:31 DbLog test 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/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at (eval 4558) 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, Sponge.  at ./FHEM/93_DbLog.pm line 2277.
2018-02-13 15:26:31 DbLog test disconnected
2018-02-13 15:26:31 DbLog test Can't connect to database.


hat jemand eine IDEE?

betateilchen

Zitat von: Franky1992 am 13 Februar 2018, 15:30:53
hat jemand eine IDEE?

steht doch da...


2018-02-13 15:26:31 DbLog test install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module)


Was ist daran unverständlich? Installiere den mysql Treiber und alles ist gut.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Franky1992

danke für die fixe Antwort.

sqlite3 libdbd-sqlite3-perl libtext-diff-perl
^^denke mal diese Pakete aus dem Howto sind nur für sqlite oder?

weißt du wie das benötigte Paket / Treiber heißt?

Gruß
Franky

DS_Starter

schon mal in commandref von dblog reingeschaut ? (oder help dblog)
Gleich zu Beginn springt es einem ins Auge ....
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

Franky1992

Ja commandref war die Lösung,
ZitatMySQL    : sudo apt-get install [mysql-server] mysql-client libdbd-mysql libdbd-mysql-perl (mysql-server only if you use a local MySQL-server installation)

leider geht es nun mit einem deutlich weniger detaillierten Fehler weiter:
2018-02-13 16:17:51 DbLog test disconnected
2018-02-13 16:17:51 DbLog test Can't connect to database.

db.conf

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

DS_Starter

Nach der Konfiguration ein set ... configCheck ausführen. steht auch in der Hilfe.
Schauen ob das was aussagt. Wenn nicht verbose level hochdrehen und im Logfile nach Hinweisen suchen.

Beliebter Fehler bei MySql ist dass der User sich von einem remoten Rechner nicht anmelden darf -> mal checken.
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

Franky1992

Super, Vielen Dank das war schonmal der Grundfehler habe die Bindadresse in der my.cnf auskommentiert und es geht!

Habe inzwischen vor verzweiflung eine mysql und eine mariadb VM aufgesetzt.
wo finde ich die bind-adress bei mariadb? in der my.cnf ist sie nicht!?

Gruß

DS_Starter

Ich benutze dazu eigentlich eher die host definition % im usereditor. aber lt. doku sollte die bindaddress in der sektion mysqld in der my.cnf sein. Kann heute abend ja mal auf meinem system schauen, aber auf synology ist alles immer etwas anders  ;)

Grüsse
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

DS_Starter

Auf meiner Syno befindet sich der bind-address Eintrag in der besagten Sektion "mysqld":


Heiko@SDS1:~$ more /usr/local/mariadb10/etc/mysql/my.cnf
[client]
port = 3307
socket = /run/mysqld/mysqld10.sock

[mysqld]
bind-address = 0.0.0.0
port = 3307
socket = /run/mysqld/mysqld10.sock
pid-file = /run/mysqld/mysqld10.pid
skip-external-locking
key_buffer_size = 16K
.....
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