Las BBDD de MySQL vienen por defecto con el acceso restringido desde otro host, por eso es necesario especificarlo en su configuración para que las aplicaciones que no estén instaladas en el mismo servidor que el servidor de BBDD puedan conectarse correctamente.
Hay diversos motivos por los cuales uno no pueda conectarse a una BBDD de MySQL. Hasta que uno da con la solución puede ayudarse de un pequeño script realizado en PHP que intente conectarse y nos muestre el error correspondiente para que podamos corregirlo. Este script lo tenéis disponible aquí.
Vamos a ver los motivos que pueden estar causando que no consigamos conectar la aplicación con la BBDD.
La variable SKIP_NETWORKING
Esta variable permite restringir conexiones desde otro servidor. Si está a ON quiere decir que NO permite atender conexiones externas. Si estuviera en valor OFF sí permitiría conexiones externas desde otros hosts.
mysql> SHOW VARIABLES LIKE '%netwo%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
Para activarla hay que modificar el fichero de configuración
/etc/my.cnf
y reiniciar el servicio de MySQL:
/etc/init.d/mysqld restart.
La variable BIND-ADDRESS
En el fichero de configuración
/etc/init.d/my.cnf
hay que añadir la siguiente lñinea bajo el apartado [mysqld]:
bind-address=0.0.0.0
De esta manera estaremos permitiendo conexiones desde fuera. Una vez modificado deberemos reiniciar el servicio de MySQL.