Hallo zusammen,
Ich brauche Hilfe von einem SQL Fachmann / -Frau.
Habe auf dem Raspberry Pi eine MariaDB, Webserver, NAS und FHEM laufen. Die SD Karte ist am Limit und da ich noch einen anderen Raspi hab, wollte ich die Systeme aufteilen, sprich FHEM soll auf den anderen Raspi umziehen.
Läuft an sich schon aber es gibt ein Problem mit dem Zugriff auf die Datenbank. Die soll für das FHEM Logging genutzt werden.
Ich bekomme keine Verbindung zu der Datenbank von dem 2. Rechner aus. Es kommt der Fehler
Ich hab schon einige Tage mit Recherche zu dem Problem verbracht. Bin ja scheinbar nicht der Einzige damit.
Aber alle Tipps haben bislang nicht funktioniert. Bin ratlos.
Folgende Einstellungen hab ich gemacht:
Datei: /etc/mysql/my.cnf
Datei: /etc/mysql/conf.d/mariadb.cnf
Am Ende:
Das ist zwar irgendwie doppelt gemoppelt aber die Werte scheinen eingelesen zu werden.
Ein
liefert das:
Damit sollte nach diversen Anleitungen der Zugriff auch von externen Clients möglich sein und nicht nur von "localhost".
Dann hab ich dem Benutzer fhemuser in der Datenbank Rechte eingeräumt über dieses SQL Statement: (natürlich mit dem richtigen Passwort)
Diese User sind in der DB angelegt:
Was kann das Problem noch sein und wie kann ich es lösen?
Danke und Gruß
Timo
Ich brauche Hilfe von einem SQL Fachmann / -Frau.
Habe auf dem Raspberry Pi eine MariaDB, Webserver, NAS und FHEM laufen. Die SD Karte ist am Limit und da ich noch einen anderen Raspi hab, wollte ich die Systeme aufteilen, sprich FHEM soll auf den anderen Raspi umziehen.
Läuft an sich schon aber es gibt ein Problem mit dem Zugriff auf die Datenbank. Die soll für das FHEM Logging genutzt werden.
Ich bekomme keine Verbindung zu der Datenbank von dem 2. Rechner aus. Es kommt der Fehler
Code:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.178.33' (111 "Connection refused")
Ich hab schon einige Tage mit Recherche zu dem Problem verbracht. Bin ja scheinbar nicht der Einzige damit.
Aber alle Tipps haben bislang nicht funktioniert. Bin ratlos.
Folgende Einstellungen hab ich gemacht:
Datei: /etc/mysql/my.cnf
Code:
bind-address = 0.0.0.0
Am Ende:
skip-networking=0
skip-bind-address
Datei: /etc/mysql/conf.d/mariadb.cnf
Am Ende:
Code:
skip-networking=0
skip-bind-address
Das ist zwar irgendwie doppelt gemoppelt aber die Werte scheinen eingelesen zu werden.
Ein
Code:
mysqld --print-defaults
Code:
mysqld would have been started with the following arguments:
--user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock
--port=3306 --basedir=/usr --datadir=/media/nas/timo/mysql --tmpdir=/tmp --lc-messages
-dir=/usr/share/mysql --skip-external-locking --bind-address=0.0.0.0 --key_buffer=16M
--max_allowed_packet=16M --thread_stack=192K --thread_cache_size=8 --myisam-recover
=BACKUP --query_cache_limit=1M --query_cache_size=16M --log_error=/var/log/mysql/error.log
--expire_logs_days=10 --max_binlog_size=100M --skip-networking=0 --skip-bind-address
Damit sollte nach diversen Anleitungen der Zugriff auch von externen Clients möglich sein und nicht nur von "localhost".
Dann hab ich dem Benutzer fhemuser in der Datenbank Rechte eingeräumt über dieses SQL Statement: (natürlich mit dem richtigen Passwort)
Code:
GRANT ALL PRIVILEGES ON *.* TO 'fhemuser'@'192.168.178.%' IDENTIFIED BY '#####' WITH GRANT OPTION;
Diese User sind in der DB angelegt:
Code:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 333520
Server version: 10.0.36-MariaDB-0+deb8u1 (Raspbian)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';
+----------+---------------+
| User | Host |
+----------+---------------+
| fhemuser | % |
| root | % |
| timo | % |
| fhemuser | 192.168.178.% |
| timo | 192.168.178.% |
+----------+---------------+
6 rows in set (0.02 sec)
Was kann das Problem noch sein und wie kann ich es lösen?
Danke und Gruß
Timo