Sám jsem měl nedávno stejný problém. Zprovoznil jsem to následovně:
Upravit konfiguraci MySQL
Ve výchozím nastavení není MySQL nakonfigurováno pro přijímání vzdálených připojení. Vzdálená připojení můžete povolit úpravou konfiguračního souboru:
sudo nano /etc/mysql/my.cnf
Najděte [mysqld]
sekce. Řádek, který potřebujete změnit, je bind-address
, která by měla být nastavena na výchozí hodnotu 127.0.0.1
. Chcete upravit tento řádek, aby místo toho zobrazoval IP vašeho RPi v síti (což by z vašeho příkladu vypadalo jako 192.168.1.102). Napište změny.
Restartujte službu MySQL
sudo service mysql restart
Nastavte oprávnění MySQL
Připojte se k instanci MySQL jako root:
mysql -p -u root
Vytvořte uživatele:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Apostrofy ( ') v syntaxi jsou povinné
- IP adresa je IP adresa zařízení v síti, ze které se pokoušíte připojit
Udělte oprávnění příslušným databázím a tabulkám:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Parametry jsou ty, které jste použili k vytvoření uživatele v předchozím kroku
- Znak * umožní přístup ke všem tabulkám v zadané databázi. Případně můžete zadat konkrétní tabulku
- Pravděpodobně budete chtít posílit zabezpečení udělením pouze příslušných oprávnění, ale to by mělo stačit k otestování, že to funguje
To by snad mělo stačit!