Jeg har selv haft det samme problem for nylig. Jeg fik det til at virke ved at gøre følgende:
Rediger MySQL-konfiguration
Som standard er MySQL ikke konfigureret til at acceptere fjernforbindelser. Du kan aktivere fjernforbindelser ved at ændre konfigurationsfilen:
sudo nano /etc/mysql/my.cnf
Find [mysqld]
afsnit. Linjen du skal ændre er bind-address
, som skal indstilles til standardværdien 127.0.0.1
. Du vil redigere denne linje for i stedet at vise IP'en for din RPi på netværket (som ser ud til at være 192.168.1.102 fra dit eksempel). Skriv ændringerne.
Genstart MySQL-tjenesten
sudo service mysql restart
Konfigurer MySQL-tilladelser
Opret forbindelse til din MySQL-instans som root:
mysql -p -u root
Opret en bruger:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Apostroferne ( ' ) i syntaksen er påkrævet
- IP-adressen er IP-adressen på enheden på det netværk, du forsøger at oprette forbindelse fra
Giv tilladelser til de relevante databaser og tabeller:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Parametrene er dem, du brugte til at oprette din bruger i det forrige trin
- *'et giver adgang til alle tabeller i den angivne database. Alternativt kan du angive en specifik tabel
- Du vil sikkert gerne styrke sikkerheden ved kun at give relevante privilegier, men det burde være nok til at teste, om det virker
Det burde forhåbentlig gøre det!