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