Hauptmenü

MariaDB logt keine Daten

Begonnen von Geisha2021, 22 Juli 2020, 16:14:11

Vorheriges Thema - Nächstes Thema

Geisha2021


Ich habe auf einem Raspi FHEM laufen mit DS18B20 Sensoren die über den GPIO4 angebunden waren. Hat auch prima funktioniert und geloggt wurde über die textfiles.
Dann bin ich auf den Busmaster DS9490R umgestiegen und wollte auch gleich die MySQL DB installieren.
Hat auch geklappt soweit (nach Video von Matthias Kleine) nur werden keine Daten geloggt. Die Datenbank bleibt leer.

Wenn ich bei FHEM auf aktualisieren drücke kommt als State "Connected"; wenn ich nochmals aktualisiere kommt  manchmal bei State folgende Meldung

DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'localhost' (using password: YES) at ./FHEM/93_DbLog.pm line 2997.

Im FHEM Logfile steht dann:

2020.07.22 15:42:57 2: DbLog DBLogging - DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'localhost' (using password: YES) at ./FHEM/93_DbLog.pm line 3064.

Was ist hier falsch?

Weiß jemand eine Lösung?


Christoph Morrison

Zitat von: Geisha2021 am 22 Juli 2020, 16:14:11
Was ist hier falsch?

Das hier:
Zitat von: Geisha2021 am 22 Juli 2020, 16:14:11
Access denied for user 'fhemuser'@'localhost'

Zitat von: Geisha2021 am 22 Juli 2020, 16:14:11
Weiß jemand eine Lösung?

Du musst dem User fhemuser mit GRANT entsprechende Rechte geben, wenn er sich von localhost verbindet. In contrib findest du ein Beispiel (Zeile 5).

Geisha2021

Danke für den Hinweis. Hat aber leider nichts gebracht.

Habe auch schon eine kürzeres Passwort versucht was ja bei jemanden geholfen hat.
Dies war jedoch bei mir auch keine Lösung.

Wieso verbindet er sich manchmal und bringt State connected aber loggt keine Daten?

DS_Starter

Arbeite mal diesen kurzen Thread durch: https://forum.fhem.de/index.php?topic=102600.0

Vermutlich löst das dein Problem.
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

Geisha2021

Habe versucht den Thread abzuarbeiten jedoch auf Grund meiner noch sehr rudimentären Kenntnisse von SQL DBs habe ich nicht viel davon verstanden. phpMyAdmin habe ich gar nicht installiert sodass ich diese Teile gar nicht überprüfen konnte.
Das Problem besteht aber noch immer.

DS_Starter

#5
ZitatDas Problem besteht aber noch immer.
Naja, wenn du nichts geändert hast kann es ja auch nicht anders sein.  ;)

In dem verlinkten Thread wird auf das löschen des evtl. noch vorhandenen Users everyone oder jedermann Bezug genommen.
Wenn du keine Tools hast, must du dich mit der Konsole begnügen.

Zum Beispiel:

Login
mysql -u root -p

Nachschauen welche User angelegt sind:
select User,Host from mysql.user;

Falls oben genannte User vorhanden sind, löschen:
DROP USER 'everyone'@'localhost';

User und Host sind natürlich anzupassen.
Ansonsten ist Google dein Freund. Wenn du nach deinem Problem suchst, findest du einiges.

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

Geisha2021

Danke Heiko,
habe jetzt deine Hinweise ausgeführt:

Vorhandene User:

MariaDB [(none)]> select User,Host from mysql.user;
+----------+-----------+
| User     | Host      |
+----------+-----------+
| fhemuser | %         |
| root     | %         |
| root     | localhost |
+----------+-----------+

Nach dem löschen:

MariaDB [(none)]> select User,Host from mysql.user;
+----------+------+
| User     | Host |
+----------+------+
| fhemuser | %    |
+----------+------+
1 row in set (0.00 sec)

Es geht aber immer noch nicht.

Gruß Uli

DS_Starter

Morgen Uli,

naja du solltest aber nur everyone bzw. jeder löschen. Jetzt hast du dir den root gelöscht wie es aussieht.
Du kannst dich nun nicht mehr mit root anmelden, oder ?
Wenn dem so ist must du versuchen dir zunächst mal wieder den root anzulegen mit dieser Vorgehensweise:

https://www.mawa-solutions.com/faq/artikel/mysql-root-benutzer-geloescht

Alternativ macht es vielleicht Sinn wenn du MariaDB nochmal neu installallierst.
Nach welchem Link warst du denn vorgegangen um MariaDB zu installieren ?

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

Geisha2021

Hallo Heiko,

vielen Dank für deine Tips. Bleibe aber schon wieder hängen.

pi@raspberrypi:~ $ sudo mysqld_safe --skip-grant-tables --user=root --skip-networking & mysql -u anyuser
[1] 18501
ERROR 1045 (28000): Access denied for user 'anyuser'@'localhost' (using password: NO)
pi@raspberrypi:~ $ 200725 09:37:47 mysqld_safe Logging to syslog.


Um den ROOT user anzulegen muß ich doch schon auf der Datenbank sein nach meinem Verständnis. Aber wie komme ich drauf?

Die Datenbank habe ich nach dem Tutorial von Matthias Kleine installiert. https://haus-automatisierung.com/hardware/fhem/2016/05/20/fhem-tutorial-reihe-part-7-mysql-server-fuer-logging-nutzen.html

Wenn ich die Datenbank neu installiere was muss ich machen mit der fehlerhaften Installation (was muss ich löschen).

Als Datenbank-tool nutze ich noch Heidi SQL was aber für mich auch neu ist.

Gruß Uli


DS_Starter

#9
Da du ganz am Anfang stehst, würde ich an deiner Stelle die Installation der MariaDB nochmal von vorn wiederholen.
Ich verwende Synology Packete, was sehr einfach ist. Auf meiner Debian VM habe ich MariaDB nach folgendem Verfahren installiert:

1. Update your system and install dependencies:

sudo apt-get update && apt upgrade

2. Update your sources list:

sudo apt-get update

3. Install MariaDB:

sudo apt-get install mariadb-server

Es werden die folgenden Pakete installiert:

galera-3 gawk libhtml-template-perl libjemalloc1 libreadline5 mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common
mariadb-server-10.1 mariadb-server-core-10.1 rsync socat


Nach Installation lokaler login und einen administrativen User (root) für Zugriff von allen anderen Hosts anlegen:

mysql -u root -p  (ohne Passwort)

CREATE USER 'root'@'%' IDENTIFIED BY '<Password>';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;


Server-Standardkonfiguration ist in:

/etc/mysql/mariadb.conf.d/50-server.cnf

In dieser Datei den Zugriff über alle interfaces erlauben, den Wert für bind-address in [mysqld] ändern:

[mysqld]
bind-address = ::


Es werden weitere Files in /etc/mysql eingebunden. Eigene Konfiguration vornehmen in:

sudo vi /etc/mysql/my.cnf

Um die Sicherheit der Installation zu gewährleisten das Script ausführen:

mysql_secure_installation

You will be asked to change the root password, remove anonymous users, disable root logins outside of localhost, and remove the test database.

Enter current password for root (enter for none): <enter>
Set root password? [Y/n] Y
New password: <new password>
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n  (wichtig damit per FHEM DB konfiguriert werden kann)
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y


Restart Server:

sudo service mysql restart

Remote Zugriff testen:

mysql -h <IP> --port=3306 -u root -p


Bei dir sollte zunächst die vorhandene Installation entfernt werden. Das sollte funktionieren mit:

sudo apt-get purge --auto-remove mariadb-server

Ansonsten musst du mal googeln. Im Normalfall deinstalliere ich meine MariaDB nicht.  ;)

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

Geisha2021

#10
Hallo Heiko,

bin deinem Rat gefolgt und habe die Installation komplett neu aufgesetzt. MariaDB funktioniert jetzt wie gewünscht und loggt fleißig.
Nochmals vielen Dank für die Unterstützung.

Gruß Uli

DS_Starter

#11
Prima. Dann ändere bitte das Thema in "[gelöst] MariaDB loggt keine Daten" damit andere User sehen dass es hier eine Lösung für ähnliche Fälle gibt.

LG
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