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
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
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 :)
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
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 ...
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
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
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
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
Na da hast du doch die richtige gefunden.
mysqld.cnf
Nun bind-address wie oben beschrieben ändern und restarten.