Recientemente he tenido el mismo problema yo mismo. Lo hice funcionar haciendo lo siguiente:
Editar la configuración de MySQL
Por defecto, MySQL no está configurado para aceptar conexiones remotas. Puede habilitar las conexiones remotas modificando el archivo de configuración:
sudo nano /etc/mysql/my.cnf
Encuentra el [mysqld]
sección. La línea que necesita modificar es bind-address
, que debe establecerse en el valor predeterminado de 127.0.0.1
. Desea editar esta línea para mostrar la IP de su RPi en la red (que parecería ser 192.168.1.102 de su ejemplo). Escriba los cambios.
Reiniciar el servicio MySQL
sudo service mysql restart
Configurar permisos de MySQL
Conéctese a su instancia de MySQL como root:
mysql -p -u root
Crear un usuario:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Los apóstrofes (') en la sintaxis son obligatorios
- La dirección IP es la dirección IP del dispositivo en la red desde la que intenta conectarse
Otorgue permisos a las bases de datos y tablas relevantes:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Los parámetros son los que usó para crear su usuario en el paso anterior
- El * otorgará acceso a todas las tablas dentro de la base de datos especificada. Alternativamente, podría especificar una tabla específica
- Probablemente desee reforzar la seguridad otorgando solo los privilegios pertinentes, pero eso debería ser suficiente para probar que funciona
¡Eso debería funcionar!