Jag har själv nyligen haft samma problem. Jag fick det att fungera genom att göra följande:
Redigera MySQL-konfiguration
Som standard är MySQL inte konfigurerat för att acceptera fjärranslutningar. Du kan aktivera fjärranslutningar genom att ändra konfigurationsfilen:
sudo nano /etc/mysql/my.cnf
Hitta [mysqld]
sektion. Raden du behöver ändra är bind-address
, som bör ställas in på standardvärdet 127.0.0.1
. Du vill redigera den här raden för att istället visa IP:n för din RPi på nätverket (som verkar vara 192.168.1.102 från ditt exempel). Skriv ändringarna.
Starta om MySQL-tjänsten
sudo service mysql restart
Ställ in MySQL-behörigheter
Anslut till din MySQL-instans som root:
mysql -p -u root
Skapa en användare:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Apostroferna ( ' ) i syntaxen krävs
- IP-adressen är IP-adressen för enheten i nätverket du försöker ansluta från
Ge behörigheter till relevanta databaser och tabeller:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Parametrarna är de du använde för att skapa din användare i föregående steg
- * kommer att ge åtkomst till alla tabeller i den angivna databasen. Alternativt kan du ange en specifik tabell
- Du skulle förmodligen vilja stärka säkerheten genom att bara bevilja relevanta privilegier, men det borde vara tillräckligt för att testa att det fungerar
Det borde förhoppningsvis göra det!