Ik heb zelf onlangs hetzelfde probleem gehad. Ik heb het werkend gekregen door het volgende te doen:
MySQL-configuratie bewerken
Standaard is MySQL niet geconfigureerd om externe verbindingen te accepteren. U kunt externe verbindingen inschakelen door het configuratiebestand te wijzigen:
sudo nano /etc/mysql/my.cnf
Zoek de [mysqld]
sectie. De regel die u moet wijzigen is bind-address
, die moet worden ingesteld op de standaardwaarde van 127.0.0.1
. U wilt deze regel bewerken om in plaats daarvan het IP-adres van uw RPi op het netwerk weer te geven (wat in uw voorbeeld 192.168.1.102 lijkt te zijn). Schrijf de wijzigingen.
Herstart de MySQL-service
sudo service mysql restart
MySQL-machtigingen instellen
Maak verbinding met uw MySQL-instantie als root:
mysql -p -u root
Maak een gebruiker aan:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- De apostrofs ( ' ) in de syntaxis zijn vereist
- Het IP-adres is het IP-adres van het apparaat op het netwerk waarmee u verbinding probeert te maken
Verleen machtigingen aan de relevante databases en tabellen:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- De parameters zijn de parameters die u in de vorige stap heeft gebruikt om uw gebruiker aan te maken
- De * geeft toegang tot alle tabellen in de opgegeven database. U kunt ook een specifieke tabel specificeren
- U wilt waarschijnlijk de beveiliging versterken door alleen relevante rechten toe te kennen, maar dat zou voldoende moeten zijn om te testen of het werkt
Dat zou het hopelijk moeten doen!