Hallo Zusammen,
bin neu hier - daher einfach mal in die Rubrik Anfängerfragen, da ich noch nicht 100% einschätzen kann, ob es vielleicht doch Fortgeschritten ist.
Ich habe seit einiger Zeit eine FHEM im Einsatz und möchte einige Automatisierungen optimieren um ein besseres Profiling zu machen. Was ich hier raus gelesen habe ist, dass eine MariaDB 10 Sinnvoll ist und ich habe mir eine aufgesetzt.
Die MariaDB ist auch soweit Problemlos aufgebaut und eingerichtet. Dokumentation die ich hier als Orientierung genommen habe ist dies:
https://haus-automatisierung.com/hardware/fhem/2016/05/20/fhem-tutorial-reihe-part-7-mysql-server-fuer-logging-nutzen.html
Meine Problematik ist, dass nachdem ich die Datei fhem/contrib/db/log/db.conf angepasst habe (mit und ohne Komma nach der 1 bei utf8 => 1):
%dbconfig= (
connection => "mysql:database=fhem;host=host-ip;port=3307",
user => "fhemuser",
password => "fhemuserpassword",
utf8 => 1,
);
Folgende Fehlermeldungen kommen:
2019.01.14 18:25:19 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=host-ip;port=3307 with user fhemuser
2019.01.14 18:25:19 2: DbLog DBLogging - Error: DBI connect('database=fhem;host=host-ip;port=3307','fhemuser',...) failed: Access denied for user 'fhemuser'@'host-ip' (using password: YES) at ./FHEM/93_DbLog.pm line 2400.
2019.01.14 18:25:20 2: DbLog DBLogging - DBI connect('database=fhem;host=host-ip;port=3307','fhemuser',...) failed: Access denied for user 'fhemuser'@'host-ip' (using password: YES) at ./FHEM/93_DbLog.pm line 2465.
2019.01.14 18:25:20 2: DbLog DBLogging - DBI connect('database=fhem;host=host-ip;port=3307','fhemuser',...) failed: Access denied for user 'fhemuser'@'host-ip' (using password: YES) at ./FHEM/93_DbLog.pm line 2465.
Danach kommt die letzte Zeile 2019.01.14 18:25:20 kommt dann noch einige Male...
Im Terminal bekomme ich mit
mysql --database=fhem --host=host-ip --port=3307 --user=fhemuser -p
eine Verbindung einwandfrei hin.
Mein define lautet Übrigens:
define DBLogging DbLog /opt/fhem/contrib/dblog/db.conf .*:.*
Gestern habe ich noch ein FHEM update gemacht, um auszuschließen, dass eine neue Version mein Problem löst.
Das mysql-server Paket habe ich auch nicht installiert, da mein MariaDB Server auf einem Synology läuft. Somit nicht auf dem selben System.
Ich hoffe ich habe alle notwendigen Informationen für euch zusammen geschrieben. Wenn noch etwas fehlt gerne fragen :)
Viele Grüße
mbj2k
MariaDB Standard Port ist 3306 oder hast Du ihn in der MariaDB Konfig geändert?
3306 steht auch auf der verlinkten Seite.
Hi CoolTux,
MariaDB 5 hat 3306,
MariaDB 10 hat 3307.
Ich habe via 3307 verbunden - wie gesagt via Terminal geht es über den Port 3307 Problemlos.
Grüße
mbj2k
Ist die DB lokal auf dem FHEM-Host oder remote ?
Hallo DS_Starter,
Zitat von: DS_Starter am 14 Januar 2019, 19:17:48
Ist die DB lokal auf dem FHEM-Host oder remote ?
remote auf einer Synology. Habe dort das MariaDB 10 Paket installiert.
Viele Grüße
mbj2k
Ja, so betreibe ich die DB auch.
Du musst sehr wahrscheinlich in der Useradministration der DB (ich benutze den Syno phpMyAdmin) den user "fhemuser" berechtigen dass er remote zugreifen darf. Sonst darf er es nur lokal, also von der Syno aus.
Hi DS_Starter,
Zitat von: DS_Starter am 14 Januar 2019, 19:35:34
Ja, so betreibe ich die DB auch.
Du musst sehr wahrscheinlich in der Useradministration der DB (ich benutze den Syno phpMyAdmin) den user "fhemuser" berechtigen dass er remote zugreifen darf. Sonst darf er es nur lokal, also von der Syno aus.
ist das nicht ausgeschlossen, wenn ich via Terminal vom FHEM Raspberry eine Verbindung aufbauen kann?
Im Terminal bekomme ich mit
Code: [Auswählen]
mysql --database=fhem --host=host-ip --port=3307 --user=fhemuser -p
eine Verbindung einwandfrei hin.
Grüße
mbj2k
Zitatist das nicht ausgeschlossen, wenn ich via Terminal vom FHEM Raspberry eine Verbindung aufbauen kann?
Ja, sollte so sein.
Hast du diesen Hinweis aus der Commandref zu DbLog berücksichtigt ?
-->
Hinweis zu Sonderzeichen:Werden Sonderzeichen, wie z.B. @, $ oder %, welche eine programmtechnische Bedeutung in Perl haben im Passwort verwendet, sind diese Zeichen zu escapen. Das heißt in diesem Beispiel wäre zu verwenden: \@,\$ bzw. \%.
Grüße
Heiko
Zitat von: DS_Starter am 14 Januar 2019, 19:57:57
Hast du diesen Hinweis aus der Commandref zu DbLog berücksichtigt ?
-->
Hinweis zu Sonderzeichen:
Werden Sonderzeichen, wie z.B. @, $ oder %, welche eine programmtechnische Bedeutung in Perl haben im Passwort verwendet, sind diese Zeichen zu escapen. Das heißt in diesem Beispiel wäre zu verwenden: \@,\$ bzw. \%.
Grüße
Heiko
Nein habe ich nicht berücksichtigt, guter Hinweis. In diesem Fall habe ich allerdings kein Sonderzeichen verwendet. Nur Buchstaben und Zahlen in Groß- und Kleinschreibung.
Hmm ... jetzt wirds etwas eng ;)
Auf jeden Fall ist die Fehlermeldung eindeutig: Access denied for user 'fhemuser'@'host-ip' (using password: YES)
Ich will hier nicht dein Passwort abfragen. Deswegen setze dir bitte mal ein anderes/einfaches.
Hallo zusammen,
wie ist denn der User in der DB definiert?
Ich hänge meine Definition an, vielleicht hilft das. Ich erinnere mich, dass das %-Zeichen im Feld "Limit to Hosts Matching" bei mir ein Problem gelöst hat.
LG
Rainer
Zitat von: DS_Starter am 14 Januar 2019, 20:31:10
Hmm ... jetzt wirds etwas eng ;)
Auf jeden Fall ist die Fehlermeldung eindeutig: Access denied for user 'fhemuser'@'host-ip' (using password: YES)
Ich will hier nicht dein Passwort abfragen. Deswegen setze dir bitte mal ein anderes/einfaches.
so ging es mir auch.
Vielen Dank, dass Passwort ist es tatsächlich. Keine Ahnung warum ich das nicht einmal mit einem einfachen getestet habe...
Manchmal sieht man den Wald vor lauter Bäumen nicht mehr.
Da ich es nun eh nicht verwenden kann, mal hier das Passwort:
password => "gDhMkyA8rlyu8XAmOC3f"
Ich habe zum testen nun einmal kurz 1234 genommen. Werde dies nun auch einmal ändern.
Danke für eure schnelle Hilfe an alle. Hat mich nur ein WE Nerven gekostet... Naja. :)
Wieder einen Schritt weiter in der Automatisierung..
Viele Grüße
mbj2k
P.S.: Ein organisatorischer Punkt noch: Möchte das Thema ungern schließen, da vielleicht andere auch mal so ein Problem haben, kann ich es als erfolgreich Gelöst markieren?
NACHTRAG: Neues Passwort funktioniert nun auch. Komisch ::)
Du schreibst einfach "Gelöst" vor dein Thema.
Schön dass es jetzt geht, in dem Passwort kann ich auch nichts schlimmes erkennen.
Vielleicht hattest du unsichtbare Steuerzeichen in das Konfig-File beim Passwort reineditiert. Natürlich ist das nur reine Glaskugelleserei.