Método para resolverlo:
Para otorgar acceso a una base de datos MySQL a direcciones IP específicas, sigue estos pasos:
- Accede al servidor MySQL utilizando un cliente de gestión como MySQL Workbench o la línea de comandos.
- Verifica la configuración de acceso a la base de datos ejecutando el siguiente comando:
SELECT host, user FROM mysql.user;
- Si las direcciones IP no están permitidas, concédele permisos ejecutando:
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'190.24.106.135' IDENTIFIED BY 'contraseña';
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'186.145.116.178' IDENTIFIED BY 'contraseña';
- Recarga los privilegios para aplicar los cambios:
FLUSH PRIVILEGES;
- Verifica la conectividad de la nueva IP probando el acceso desde la máquina cliente.
- Si el problema persiste, revisa las reglas del firewall en el servidor para permitir conexiones entrantes desde las direcciones IP indicadas.
Causas del problema:
- La dirección IP no estaba incluida en la lista de accesos permitidos de MySQL.
- Las reglas del firewall bloqueaban la conexión a MySQL desde la nueva IP.
- El usuario MySQL no tenía privilegios de acceso desde la dirección IP específica.
- El servidor MySQL no estaba configurado para aceptar conexiones remotas (verifica el archivo
my.cnfomy.ini).
Recomendaciones:
- Mantén una lista actualizada de direcciones IP con acceso autorizado y revisa los permisos periódicamente.
- Utiliza una VPN o una red segura para minimizar el riesgo de acceso no autorizado.
- Configura reglas de firewall estrictas para permitir solo el acceso desde direcciones IP verificadas.
- Considera el uso de túneles SSH o conexiones seguras con SSL para proteger la comunicación con la base de datos.
Ejemplos y Casos de Uso:
- Si un usuario necesita acceder desde una nueva ubicación, debes agregar su dirección IP y otorgar los permisos adecuados.
- Si después de agregar la IP el usuario sigue sin poder conectarse, revisa la configuración del firewall y la autenticación en MySQL.
- Para entornos empresariales con múltiples usuarios, considera crear roles específicos con permisos segmentados.
Referencias:
- Oracle MySQL Documentation: https://dev.mysql.com/doc/
- Guía de Configuración de MySQL Remoto: https://www.digitalocean.com/community/tutorials/how-to-allow-remote-access-to-mysql