Esto es aplicable para nuestros servidores locales o servidores dedicados. Normalmente los servicios de Hosting lo tienen deshabilitado y no se puede utilizar. Tan solo nos permiten gestionar mediante PhpmyAdmin.
En mi caso tengo un servidor montado con Debian y necesito gestionar la base de datos remotamente mediante SQLyog, MySQL Browser Query y otros.
Lo primero que debemos hacer es editar el archivo: /etc/mysql/my.cnf. Debemos hacerlo desde la consola y como root, ya que es un archivo protegido. Abrimos el terminal y logueamos como root.
Ahora escribimos:
nano /etc/mysql/my.cnf
Con esto abrimos ese archivo con el editor. Buscamos la línea:
bind-address = 127.0.0.1
Y la cambiamos por:
bind-address = 0.0.0.0
Y reiniciamos el servicio MySQL:
/etc/init.d/mysql restart
Con este paso ya hemos habilitado el acceso remoto al servidor. Ahora debemos dar permiso a el usuario para que pueda acceder.
Iniciamos la utilidad mysql en un Terminal del servidor donde esta instalado MySQL Server con el siguiente comando:
mysql -u root -p
Escribimos la contraseña que nos pide del MySQL y procedemos a configurar a los usuarios para acceso remoto:
GRANT ALL PRIVILEGES ON *.* TO root@'%'; FLUSH PRIVILEGES;
Ya tenemos el acceso y podemos conectarnos sin problemas.
A partir de aquí explico como como conseguir una conexión más segura y describo con detalle el comando anterior.
Cabe puntualizar que no es la forma más segura de conceder el acceso. Supongamos que estamos trabajando desde una LAN y tenemos la IP 192.168.1.50 pues vamos a dar acceso solamente a esta IP con el siguiente comando:
GRANT ALL PRIVILEGES ON *.* TO root@192.168.1.50 FLUSH PRIVILEGES;
Listo, ahora solo se puede acceder desde la IP mencionada (y del mismo servidor, claro).
Vamos a rizar un poco más el rizo. Supongamos que el usuario root desde la IP 192.168.1.50 solo necesita conectarse a la base de datos llamada "clientes", pues bien, la línea es la siguiente:
GRANT ALL PRIVILEGES ON clientes.* TO root@192.168.1.50 FLUSH PRIVILEGES;
Ya lo tenemos listo. Un apunte más. La opción FLUSH PRIVILEGES, es para aplicar los cambios realizados al instante sin tener que reiniciar el servicio ni el servidor.