En el servidor MySQL, necesita modificar el archivo  my.cnf , cuya ubicación depende del sistema operativo: en Debian, está en / etc / mysql, por ejemplo. Edítalo, encuentra la línea. 
 [mysqld]
 Y añádele el siguiente texto: 
 [mysqld]
 user            = mysql
 pid-file        = /var/run/mysqld/mysqld.pid
 socket          = /var/run/mysqld/mysqld.sock
 port            = 3306
 basedir         = /usr
 datadir         = /var/lib/mysql
 tmpdir          = /tmp
 language        = /usr/share/mysql/English
 bind-address    = The_IP_of_YOUR_MySQL_Server
 # skip-networking
 Aquí, lo importante es que comentas la línea.  saltar redes , y que insertas, en la linea.  dirección de enlace , la IP del servidor. Guarde, reinicie mysql (de nuevo, esto depende del sistema operativo), acceda a MySQL con lo habitual 
  mysql -u root -p mysql
 y permitir el acceso desde su propia IP remota a la base de datos existente: 
  mysql> update db set Host='Your_own_remote_IP' where Db='webdb';
  mysql> update user set Host='Your_own_remote_IP' where user='webadmin';
 Ahora vuelva a su sistema remoto y pruebe la nueva funcionalidad: 
 mysql -u webadmin –h The_IP_of_theMySQL_Server –p
 Para que esto funcione, por supuesto, necesita un cliente MySQL en su Mac. Ahora puede crear sus propias consultas de MySQL, por ejemplo, en un script de bash de la siguiente manera: 
  #!/bin/bash
  result=`mysql -h The_IP_of_theMySQL_Server --user=webadmin --password=Your_Password --skip-column-names -e "select id from mydb.mytable where myattribute = 3"`
 EDITAR: 
 Esto es necesario si desea conectarse de forma remota directamente al servidor MySQL. Si solo desea escribir sus consultas localmente (  es decir , en el servidor), entonces  MySQL  el cliente va a hacer. Puedes encontrar una introducción.  aquí . 
                 
                
Usando ssh puede ejecutar comandos de forma remota. Así que si quieres escribir algunas consultas, esta es una forma de hacerlo. Tal vez no sea lo que estás buscando, sino una opción para conocer
Digamos que el host B es su servidor sql. host A es el cliente desde el que desea ejecutar sus consultas
En el host B, ponga sus consultas en archivos, por ejemplo, crear un archivo "test.sql". En mi caso solo pongo "mostrar bases de datos"
Entonces desde el host A puedes hacer
ssh [opciones] "[comando para ejecutar]"
Configure el inicio de sesión sin contraseña con ssh (mediante la autenticación ssh-rsa). Utilizando "ssh-keygen" y "ssh-copy-id". Puedes probar esto haciendo
ssh [opciones] "ls" y vea si devuelve los resultados del host B "ls"
Desde alli puedes hacer
ssh [opciones] "mysql [opciones] & lt; test.sql"
¿Tiene sentido?
También deberías poner una contraseña en tu comando mysql del que no seas un fan, no muy seguro. No he experimentado con otro inicio de sesión "sin contraseña" en mysql, tal vez haya otra forma de hacer esa parte.
fuente