Si necesita acceder desde cualquier parte de Internet a un servidor MySQL, es necesario que primero le digamos a al servidor que escuche todas las solicitudes que provengan de Internet. Entramos en el fichero de configuración /etc/mysql/my.ini

sudo nano /etc/mysql/my.cnf

Modificamos la linea…

bind-address          = 127.0.0.1

Por…

bind-address          = 0.0.0.0

Reiniciamos el servidor

sudo /etc/init.d/mysql restart

Ahora nuestro servidor estará a la escucha de cualquier solicitud de conexión, pero calma, si intentamos conectarnos obtendremos un error parecido a este…

ERROR 1130: Host ‘X.X.X.X’ is not allowed to connect to this MySQL
server

Esto ocurre por que aún falta decirle a MySQL que permita la conexión de nuestro usuario desde la IP X.X.X.X , para ello entramos en nuestro servidor (desde la consola) como root:

mysql -u root -p

Introducimos nuestra contraseña y ejecutamos la siguiente instrucción SQL

grant all on *.* to USUARIO@'IP' identified by 'CONTRASEÑA';

Si desea que su usuario acceda desde cualquier sitio de internet, esto es, desde cualquier IP, necesita cambiar en la anterior consulta SQL la IP por el caracter %

Fuente: LINK