Conectando-se ao MySQL no Bash (sem o MySQL instalado)

7

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

para se 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, então o comando não foi encontrado. Existe algo que eu possa instalar (apt-get preferred) além de todo o servidor MySQL para que eu possa usar os comandos mysql no bash?

    
por user722307 15.01.2012 / 08:21

1 resposta

15

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

sudo apt-get install mysql-client

e depois 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 só aceita conexões do servidor local. A configuração é chamada de bind-address e é definida em /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 ouça todos os endereços IP fazendo o valor 0.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 o 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 de 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 permitirá acesso à porta do MySQL - o padrão é 3306.

    
por Hamish Downer 15.01.2012 / 13:22

Tags