Ich habe selbst vor kurzem das gleiche Problem gehabt. Ich habe es wie folgt zum Laufen gebracht:
MySQL-Konfiguration bearbeiten
Standardmäßig ist MySQL nicht so konfiguriert, dass es Remote-Verbindungen akzeptiert. Sie können Remote-Verbindungen aktivieren, indem Sie die Konfigurationsdatei ändern:
sudo nano /etc/mysql/my.cnf
Suchen Sie [mysqld]
Sektion. Die Zeile, die Sie ändern müssen, ist bind-address
, die auf den Standardwert 127.0.0.1
gesetzt werden sollte . Sie möchten diese Zeile bearbeiten, um stattdessen die IP Ihres RPi im Netzwerk anzuzeigen (was in Ihrem Beispiel 192.168.1.102 zu sein scheint). Schreiben Sie die Änderungen.
Starten Sie den MySQL-Dienst neu
sudo service mysql restart
MySQL-Berechtigungen einrichten
Verbinden Sie sich als root mit Ihrer MySQL-Instanz:
mysql -p -u root
Erstellen Sie einen Benutzer:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Die Apostrophe ( ' ) in der Syntax sind erforderlich
- Die IP-Adresse ist die IP-Adresse des Geräts im Netzwerk, von dem aus Sie versuchen, eine Verbindung herzustellen
Gewähren Sie den relevanten Datenbanken und Tabellen Berechtigungen:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Die Parameter sind die, mit denen Sie Ihren Benutzer im vorherigen Schritt erstellt haben
- Der * gewährt Zugriff auf alle Tabellen innerhalb der angegebenen Datenbank. Alternativ können Sie auch eine bestimmte Tabelle angeben
- Wahrscheinlich möchten Sie die Sicherheit verstärken, indem Sie nur relevante Berechtigungen gewähren, aber das sollte ausreichen, um zu testen, ob es funktioniert
Das sollte es hoffentlich tun!