FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: t1me2die am 02 November 2018, 17:12:03

Titel: [gelöst] DbLog wechselt zwischen connected und error
Beitrag von: t1me2die am 02 November 2018, 17:12:03
Moin liebes Forum,

ich bin gerade dabei auf einer meiner FHEM Instanzen auf MySQL umzustellen.
Ich habe mich soweit an den Wiki Eintrag gehalten und bin wie folgt vorgegangen:


apt-get update && apt-get install mysql-server mysql-client libdbd-mysql libdbd-mysql-perl


Danach mit
mysql -p -u root
eingeloggt, funktioniert.

Nun habe ich die entsprechende Datei angelegt in dem unten stehenden Pfad angelegt:

cd /opt/fhem/contrib/dblog/
nano db_create_mysql.sql


Dateiinhalt:

CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'admin'@'%' IDENTIFIED BY 'MEIN_PASSWORT';
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 'admin'@'%';
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP);


Nun habe ich die Tabelle angelegt wie folgt:

mysql -u root -p < db_create_mysql.sql


Nun habe ich nachgeschaut mit:

mysql -p -u admin
Enter password: MEIN_PASSWORT
show databases;


Die Tabelle "fhem" wurde angelegt.

Nun habe ich noch folgende Datei angepasst:

nano /opt/fhem/db.conf


Mit folgendem Inhalt:

#
# database configuration file
#
#
## for MySQL
################################################################
%dbconfig= (
        connection => "mysql:database=fhem;host=192.168.178.250;port=3306",
        user => "admin",
        password => "MEIN_PASSWORT",
);


Die IP Adresse ist die Instanz, auf der ich die Datenbank angelegt habe.

Nun habe ich das Device in FHEM definiert:

define logdb DbLog ./db.conf .*:.*


Und der Status switched kurz auf "connected" und danach wieder auf:

DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.


Nun habe ich noch ein:

rereadcfg

in FHEM gemacht.

Jedoch wechselt der Status immer von connected zu dem o.g. Fehler.

Logauszug mit verbose 5:

2018.11.02 17:06:24 5: DbLog logdb -> DbLog_Push Returncode:
2018.11.02 17:06:24 4: DbLog logdb - Waiting for database connection
2018.11.02 17:06:25 4: DbLog logdb -> ################################################################
2018.11.02 17:06:25 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:25 4: DbLog logdb -> ################################################################
2018.11.02 17:06:25 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:25 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:25 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:25 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:25 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779585
2018.11.02 17:06:25 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779585
2018.11.02 17:06:25 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:25 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:25 GMT
2018.11.02 17:06:25 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:25 GMT
2018.11.02 17:06:25 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:26 3: DbLog logdb: Rereadcfg requested.
2018.11.02 17:06:26 3: DbLog logdb - Creating Push-Handle to database mysql:database=fhem;host=192.168.178.250;port=3306 with user admin
2018.11.02 17:06:26 2: DbLog logdb - Error: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.

2018.11.02 17:06:26 4: DbLog logdb - Trying to connect to database
2018.11.02 17:06:26 4: DbLog logdb - Waiting for database connection
2018.11.02 17:06:26 4: DbLog logdb -> ################################################################
2018.11.02 17:06:26 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:26 4: DbLog logdb -> ################################################################
2018.11.02 17:06:26 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:26 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:26 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:26 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:26 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779586
2018.11.02 17:06:26 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779586
2018.11.02 17:06:26 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:26 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:26 GMT
2018.11.02 17:06:26 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:26 GMT
2018.11.02 17:06:26 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779588
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:28 GMT
2018.11.02 17:06:28 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 1 for device: global
2018.11.02 17:06:28 4: DbLog logdb -> check Device: global , Event: SAVE
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: global , Event: SAVE
2018.11.02 17:06:28 4: DbLog logdb -> added event - Timestamp: 2018-11-02 17:06:28, Device: global, Type: GLOBAL, Event: SAVE, Reading: state, Value: SAVE, Unit:
2018.11.02 17:06:28 2: DbLog logdb - DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 1 for device: logdb
2018.11.02 17:06:28 4: DbLog logdb -> check Device: logdb , Event: state: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: logdb , Event: state: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:06:28 4: DbLog logdb -> added event - Timestamp: 2018-11-02 17:06:28, Device: logdb, Type: DBLOG, Event: state: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.
, Reading: state, Value: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed, Unit: Can't connect to MySQL server on
2018.11.02 17:06:28 2: DbLog logdb - DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:06:28 5: DbLog logdb -> DbLog_Push Returncode:
2018.11.02 17:06:28 5: DbLog logdb -> DbLog_Push Returncode:
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:28 4: DbLog logdb -> ################################################################
2018.11.02 17:06:28 4: DbLog logdb -> number of events received: 1 for device: logdb
2018.11.02 17:06:28 4: DbLog logdb -> check Device: logdb , Event: state: connected
2018.11.02 17:06:28 5: DbLog logdb -> parsed Event: logdb , Event: state: connected
2018.11.02 17:06:28 4: DbLog logdb -> added event - Timestamp: 2018-11-02 17:06:28, Device: logdb, Type: DBLOG, Event: state: connected, Reading: state, Value: connected, Unit:
2018.11.02 17:06:28 2: DbLog logdb - DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:06:28 5: DbLog logdb -> DbLog_Push Returncode:
2018.11.02 17:06:30 4: DbLog logdb -> ################################################################
2018.11.02 17:06:30 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:30 4: DbLog logdb -> ################################################################
2018.11.02 17:06:30 4: DbLog logdb -> number of events received: 3 for device: allowed_WEB
2018.11.02 17:06:30 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:30 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthUser: admin
2018.11.02 17:06:30 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:30 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpires: 1541779590
2018.11.02 17:06:30 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpires: 1541779590
2018.11.02 17:06:30 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:30 4: DbLog logdb -> check Device: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:30 GMT
2018.11.02 17:06:30 5: DbLog logdb -> parsed Event: allowed_WEB , Event: lastAuthExpiresFmt: Fri, 09 Nov 2018 16:06:30 GMT
2018.11.02 17:06:30 5: DbLog logdb -> DbLogExclude of "allowed_WEB": .*
2018.11.02 17:06:31 3: DbLog logdb - Creating Push-Handle to database mysql:database=fhem;host=192.168.178.250;port=3306 with user admin
2018.11.02 17:06:31 2: DbLog logdb - Error: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.

2018.11.02 17:06:31 4: DbLog logdb - Trying to connect to database
2018.11.02 17:06:31 4: DbLog logdb -> ################################################################
2018.11.02 17:06:31 4: DbLog logdb -> ###              start of new Logcycle                       ###
2018.11.02 17:06:31 4: DbLog logdb -> ################################################################
2018.11.02 17:06:31 4: DbLog logdb -> number of events received: 1 for device: logdb
2018.11.02 17:06:31 4: DbLog logdb -> check Device: logdb , Event: state: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.

2018.11.02 17:06:31 5: DbLog logdb -> parsed Event: logdb , Event: state: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.

2018.11.02 17:06:31 4: DbLog logdb -> added event - Timestamp: 2018-11-02 17:06:31, Device: logdb, Type: DBLOG, Event: state: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.
, Reading: state, Value: DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed, Unit: Can't connect to MySQL server on
2018.11.02 17:06:31 2: DbLog logdb - DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2439.


Ein configCheck sagt folgendes:

Result of DbLog version check

Used DbLog version: 3.12.6
Recommendation: Your running version may be the current one. Please check for updates of DbLog periodically.

Result of configuration read check

Connection parameter store type: file
Connection parameter: Connection -> mysql:database=fhem;host=192.168.178.250;port=3306, User -> admin, Password -> read o.k.

Result of connection check

Connection to database was not successful.
Recommendation: Plese check logfile for further information.


List von dblog Device, wenn es connected ist:

Internals:
   CFGFN     
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION ./db.conf
   DEF        ./db.conf .*:.*
   MODE       synchronous
   MODEL      MYSQL
   NAME       logdb
   NR         37
   NTFY_ORDER 50-logdb
   PID        3496
   REGEXP     .*:.*
   STATE      connected
   TYPE       DbLog
   UTF8       0
   VERSION    3.12.6
   dbconn     mysql:database=fhem;host=192.168.178.250;port=3306
   dbuser     admin
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     READINGCOL 64
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1541175069.58775
           VALUE      connected
   READINGS:
     2018-11-02 17:11:09   state           connected
   cache:
     index      0
Attributes:
   room       LogDB
   verbose    5


Und wenn es nicht connected ist:

Internals:
   CFGFN     
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION ./db.conf
   DEF        ./db.conf .*:.*
   MODE       synchronous
   MODEL      MYSQL
   NAME       logdb
   NR         37
   NTFY_ORDER 50-logdb
   PID        3496
   REGEXP     .*:.*
   STATE      connected
   TYPE       DbLog
   UTF8       0
   VERSION    3.12.6
   dbconn     mysql:database=fhem;host=192.168.178.250;port=3306
   dbuser     admin
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed: Can't connect to MySQL server on '192.168.178.250' (111) at ./FHEM/93_DbLog.pm line 2374.

     READINGCOL 64
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1541175096.86675
           VALUE      DBI connect('database=fhem;host=192.168.178.250;port=3306','admin',...) failed
   READINGS:
     2018-11-02 17:11:36   state           connected
   cache:
     index      0
Attributes:
   room       LogDB
   verbose    5


Nun weiß ich nicht mehr weiter.
Ich hoffe, es sind alle Informationen vorhanden, die ihr benötigt.

Gruß
Mathze
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: t1me2die am 02 November 2018, 17:31:44
Fehler selber gefunden, jedoch nicht verstanden!
Evtl. kann mir es jemand erklären?!

FALSCH:
Zitat von: t1me2die am 02 November 2018, 17:12:03
...
Mit folgendem Inhalt:

#
# database configuration file
#
#
## for MySQL
################################################################
%dbconfig= (
        connection => "mysql:database=fhem;host=192.168.178.250;port=3306",
        user => "admin",
        password => "MEIN_PASSWORT",
);




RICHTIG:

#
# database configuration file
#
#
## for MySQL
################################################################
%dbconfig= (
        connection => "mysql:database=fhem;host=localhost;port=3306",
        user => "admin",
        password => "MEIN_PASSWORT",
);


MySQL läuft auf derselben Maschine, wie FHEM.
FHEM läuft auf: 192.168.178.250
Dementsprechend müsste doch bei Host es egal sein, ob ich "localhost" oder die IP Adresse angeben oder täusche ich mich?

Gruß
Mathze
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: Wzut am 02 November 2018, 17:36:28
Zitat von: t1me2die am 02 November 2018, 17:31:44
ob ich "localhost" oder die IP Adresse angeben oder täusche ich mich?
du täuscht dich , was der MYSQLServer an Verbindungen erlaubt steht in der my.conf
und das Loopback Device ist eben nicht eth0 :)
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: t1me2die am 02 November 2018, 17:40:58
Zwar werden nun Datensätze in die DB geschrieben, jedoch erscheinen im Log weiterhin Fehlermeldungen:


2018.11.02 17:39:06 2: DbLog LogDB - DBI connect('database=fhem;host=localhost;port=3306','admin',...) failed: Access denied for user 'admin'@'localhost' (using password: NO) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:39:07 2: DbLog LogDB - DBI connect('database=fhem;host=localhost;port=3306','admin',...) failed: Access denied for user 'admin'@'localhost' (using password: NO) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:39:07 2: DbLog LogDB - DBI connect('database=fhem;host=localhost;port=3306','admin',...) failed: Access denied for user 'admin'@'localhost' (using password: NO) at ./FHEM/93_DbLog.pm line 2439.

2018.11.02 17:39:07 2: DbLog LogDB - DBI connect('database=fhem;host=localhost;port=3306','admin',...) failed: Access denied for user 'admin'@'localhost' (using password: NO) at ./FHEM/93_DbLog.pm line 2439.


Also irgendwas mache ich wohl noch falsch...
Jedoch hilft mir die Fehlermeldung nicht weiter.

Kann mir jemand auf die Sprünge helfen?

Gruß
Mathze
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: DS_Starter am 02 November 2018, 19:48:28
Hat der User admin wirklich ein Passwort füt localhost zugewiesen bekommen ?

Sieh mal:

ZitatAccess denied for user 'admin'@'localhost' (using password: NO)

In der Userverwaltung von MySQL nachschauen ...
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: DS_Starter am 02 November 2018, 22:16:17
Ich würde dir auch  empfehlen die MySQL auf alle Interfaces hören zu lassen.
Dazu in der my.cnf die beiden Zeilen auskommentieren:


skip-networking
bind-address = 127.0.0.1


Wo du diese Datei findest -> siehe https://stackoverflow.com/questions/2482234/how-do-i-find-the-mysql-my-cnf-location/2485758#2485758

Danach die DB restarten


sudo service mysql restart
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: t1me2die am 03 November 2018, 08:55:37
Zitat von: DS_Starter am 02 November 2018, 22:16:17
Ich würde dir auch  empfehlen die MySQL auf alle Interfaces hören zu lassen.
Dazu in der my.cnf die beiden Zeilen auskommentieren:


skip-networking
bind-address = 127.0.0.1

...

Meine my.cnf schaut wie folgt aus:


#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/


Wenn ich mich mit

mysql -p -u admin


Einlogge, dann fragt er mich ja schon nach meinem Passwort.

Wenn ich mich als root einlogge und:

select * from mysql.user;


mache, dann erhalte ich auch die Ausgabe, dass ein Passwort vorhanden ist.
Nachdem ich ein shutdown restart gemacht habe, habe ich auch bisher keine error bekommen.

Gruß
Mathze
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: DS_Starter am 03 November 2018, 09:08:00
Hallo Mathze,

Zitat
Meine my.cnf schaut wie folgt aus:

Code: [Auswählen]

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
Dann schau mal in die /etc/mysql/my.cnf wenn es sie gibt bzw. in die Konfigurationsdateien die sich evtl. in den Verzeichnissen /etc/mysql/conf.d/ oder /etc/mysql/mysql.conf.d/ befinden.

ZitatNachdem ich ein shutdown restart gemacht habe, habe ich auch bisher keine error bekommen.
Dann scheint das ja zu passen.

Grüße
Heiko

Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: t1me2die am 03 November 2018, 11:48:13
Zitat von: DS_Starter am 03 November 2018, 09:08:00
Hallo Mathze,
Dann schau mal in die /etc/mysql/my.cnf
...

In dem Verzeichnis ist meine oben genannte Datei vorhanden.

In dem Verzeichnis
/etc/mysql/mysql.conf.d
befindet sich die Datei:

mysqld.cnf


Dort finde ich folgenden Part:

...
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size       = 8
...


In dem anderen Verzeichnis sind zwei Dateien vorhanden, welche jedoch keinen sonderlich großen Inhalt haben.

Gruß
Mathze
Titel: Antw:DbLog wechselt zwischen connected und error
Beitrag von: DS_Starter am 03 November 2018, 12:21:27
Na da hast du doch die richtige gefunden.

mysqld.cnf

Nun bind-address wie oben beschrieben ändern und restarten.