Самият аз наскоро имах същия проблем. Накарах го да работи, като направих следното:
Редактиране на конфигурацията на MySQL
По подразбиране MySQL не е конфигуриран да приема отдалечени връзки. Можете да активирате отдалечени връзки, като промените конфигурационния файл:
sudo nano /etc/mysql/my.cnf
Намерете [mysqld]
раздел. Редът, който трябва да промените, е bind-address
, който трябва да бъде зададен на стойността по подразбиране на 127.0.0.1
. Искате да редактирате този ред, за да покажете вместо това IP на вашия RPi в мрежата (което изглежда е 192.168.1.102 от вашия пример). Напишете промените.
Рестартирайте услугата MySQL
sudo service mysql restart
Настройте MySQL разрешения
Свържете се с вашия MySQL екземпляр като root:
mysql -p -u root
Създайте потребител:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Апострофите ( ') в синтаксиса са задължителни
- IP адресът е IP адресът на устройството в мрежата, от която се опитвате да се свържете
Предоставяне на разрешения на съответните бази данни и таблици:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Параметрите са тези, които сте използвали, за да създадете своя потребител в предишната стъпка
- Знакът * ще предостави достъп до всички таблици в посочената база данни. Като алтернатива можете да посочите конкретна таблица
- Вероятно бихте искали да подобрите сигурността, като предоставите само съответните привилегии, но това трябва да е достатъчно, за да проверите дали работи
Надяваме се, че това трябва да стане!