Para conectarse desde una máquina cliente a una base de datos MySQL, los datos deben atravesar hasta 5 niveles de validación. Este es un caso general en el que el cliente y el servidor no están en la misma red y no se utiliza una conexión segura:
Primero asegúrese de que MySQL esté usando una bind-address
que es diferente de localhost
por lo que utiliza una interfaz y no solo conexiones locales.
En cada nivel, las reglas/permisos del cortafuegos deben permitir que se realice la conexión. Tenga en cuenta que una máquina puede tener, ya menudo tiene, una IP diferente internamente que externamente. El principio básico es:
La mayoría de las veces, los cortafuegos están configurados correctamente. La última pieza a menudo falta en el servidor MySQL GRANT
permiso de acceso a la DB
para el usuario externo. La última sintaxis es:
Sintaxis de concesión de MySQL
Que a menudo tiene la forma:
GRANT ALL ON <DB>.* TO '<external_user>'@'<external_ip>' IDENTIFIED BY 'external_password';