Ostatnio sam miałem ten sam problem. Uruchomiłem to, wykonując następujące czynności:
Edytuj konfigurację MySQL
Domyślnie MySQL nie jest skonfigurowany do akceptowania połączeń zdalnych. Możesz włączyć połączenia zdalne, modyfikując plik konfiguracyjny:
sudo nano /etc/mysql/my.cnf
Znajdź [mysqld]
Sekcja. Linia, którą musisz zmienić to bind-address
, która powinna być ustawiona na wartość domyślną 127.0.0.1
. Chcesz edytować ten wiersz, aby zamiast tego wyświetlał adres IP twojego RPi w sieci (który wydaje się być 192.168.1.102 z twojego przykładu). Napisz zmiany.
Ponownie uruchom usługę MySQL
sudo service mysql restart
Skonfiguruj uprawnienia MySQL
Połącz się z instancją MySQL jako root:
mysql -p -u root
Utwórz użytkownika:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Apostrofy ( ' ) w składni są wymagane
- Adres IP to adres IP urządzenia w sieci, z której próbujesz się połączyć
Przyznaj uprawnienia do odpowiednich baz danych i tabel:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Parametry to te, których użyłeś do utworzenia użytkownika w poprzednim kroku
- Znak * zapewni dostęp do wszystkich tabel w określonej bazie danych. Alternatywnie możesz określić konkretną tabelę
- Prawdopodobnie chciałbyś wzmocnić zabezpieczenia, przyznając tylko odpowiednie uprawnienia, ale to powinno wystarczyć do sprawdzenia, czy działa
Mam nadzieję, że to powinno wystarczyć!