Estoy tratando de conectarme a una base de datos remota de MySQL en Bash. En el servidor que aloja la base de datos, puedo escribir:
mysql -u _username_ -p
para conectar.
Me gustaría poder escribir:
mysql -h _host_ -u _username_ -p
para conectarse desde otro servidor. No tengo MySQL instalado en el cliente, por lo que no se encuentra el comando. ¿Hay algo que pueda instalar (se prefiere apt-get) además de todo el servidor MySQL para poder usar los comandos mysql en bash?
Respuestas:
Para instalar el cliente MySQL de línea de comandos, debe hacer:
y luego puedes hacer
Sin embargo, es posible que deba modificar la configuración del servidor MySQL. Por defecto en ubuntu, el servidor MySQL solo aceptará conexiones desde el servidor local. Se llama a la configuración
bind-address
y se establece/etc/mysql/my.cnf
. Por defecto lo es127.0.0.1
: debe cambiarlo a la dirección IP del servidor. Si el servidor tiene varias direcciones IP, puede elegir una sola dirección IP (por ejemplo, para la red interna) o hacer que MySQL escuche todas las direcciones IP haciendo el valor0.0.0.0
También deberá asegurarse de que el usuario de MySQL pueda acceder a la base de datos. Siguiendo las instrucciones en Internet, es posible que haya creado un usuario
'myname'@'localhost'
; ese usuario no podrá conectarse de forma remota. Para crear un nuevo usuario que pueda conectarse desde la dirección IP de su cliente, debe hacer algo como:Lea un poco más sobre la especificación de dirección que utiliza MySQL .
Finalmente, no olvide asegurarse de que el firewall del servidor permitirá el acceso al puerto MySQL; el valor predeterminado es 3306.
fuente