Conectando ao MySQL no Bash (sem o MySQL instalado)

11

Estou tentando conectar-me a um banco de dados MySQL remoto no Bash. No servidor que hospeda o banco de dados, posso digitar:

mysql -u _username_ -p

conectar.

Eu gostaria de poder digitar:

mysql -h _host_ -u _username_ -p

para se conectar de outro servidor. Eu não tenho o MySQL instalado no cliente, portanto, o comando não foi encontrado. Existe algo que eu possa instalar (preferencialmente o apt-get) além de todo o servidor MySQL para que eu possa usar os comandos mysql no bash?

user722307
fonte
1
apt-get install mysql-client Eu pensei que era apenas para o cliente GUI.
precisa saber é o seguinte
Você pode responder sua própria pergunta e, após algum tempo, também pode aceitá-la.
enzotib

Respostas:

21

Para instalar o cliente MySQL da linha de comando, você deve fazer:

sudo apt-get install mysql-client

e então você pode fazer

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

No entanto, você pode precisar alterar a configuração do servidor MySQL. Por padrão no ubuntu, o servidor MySQL aceita apenas conexões do servidor local. A configuração é chamada bind-addresse está definida /etc/mysql/my.cnf. Por padrão, é 127.0.0.1- você deve alterá-lo para o endereço IP do servidor. Se o servidor tiver vários endereços IP, você pode escolher apenas um endereço IP (digamos, para a rede interna) ou fazer com que o MySQL escute todos os endereços IP, fazendo o valor0.0.0.0

Você também precisará garantir que o usuário do MySQL possa acessar o banco de dados. Seguindo as instruções na Internet, você pode ter criado um usuário 'myname'@'localhost'- esse usuário não poderá se conectar remotamente. Para criar um novo usuário que possa se conectar a partir do endereço IP do seu cliente, você precisa fazer algo como:

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

Leia um pouco mais sobre a especificação de endereço que o MySQL usa .

Finalmente, não se esqueça de garantir que o firewall do servidor permita o acesso à porta MySQL - o padrão é 3306.

Hamish Downer
fonte