Não é possível conectar ao servidor mysql usando o endereço IP

0

Eu estou tentando se conectar ao mysql usando um ip, mas estou recebendo este erro:

ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111)

Eu posso conectar usando localhost em vez de um ip.

Isso não funciona:

mysql -u ryan -h xxx.xxx.xxx.xxx -p

No entanto, isso funciona:

mysql -u ryan -h localhost -p

Eu consegui me conectar mais cedo hoje, então instalei o iRedMail, depois desinstalei o iRedMail, e o processo de desinstalação fez algo com o mysql, então eu reinstalei o mysql do zero usando isto:

apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5

Então:

apt-get install mysql-server

Depois disso, criei meu usuário e agora não consigo me conectar usando um endereço IP com o novo usuário ou usuário root, mas posso conectar usando localhost .

O que está errado?

    
por Get Off My Lawn 16.10.2013 / 22:11

1 resposta

1

O MySQL no seu exemplo de configuração é ligado localmente ao endereço localhost (ou para ficar claro para o endereço IP 127.0.0.1). Se você quiser se conectar através de seus servidores de endereço IP público, o acesso será rejeitado.

Você pode ver isso fazendo netstat -ln ou em novo estilo com o comando ss .

A remoção e reinstalação substituíram alguns arquivos de configuração do MySQL. apt-get purge exclui os arquivos de configuração, também para pacotes dependentes. Normalmente, o MySQL é vinculado apenas ao localhost em uma nova instalação no Ubuntu, portanto, parece que o seu arquivo de configuração do MySQL foi substituído pelo padrão. Para outras Distros, não posso dizer nada sobre a configuração padrão.

Se você quiser usar uma Ferramenta de Administração do MySQL (ou seja, HeidiSQL) em sua máquina local, você não deve alterar o bind-address no MySQL-Config para o endereço IP público. É melhor se você usar um túnel SSH.

Com o Comando padrão do Linux ssh , isso é muito fácil de alcançar com ssh -L 9999:localhost:3306 <servername> , em que 9999 é a porta local. Você também pode usar o MySQL-Port 3306 como porta local, mas isso não funcionará se você tiver uma instalação local do MySQL. No Windows isso também pode ser feito com putty, basta olhar no Google para "putty mysql tunnel", talvez este tutorial deve fazê-lo, mas como eu sou um usuário Linux puro eu não posso verificá-lo.

    
por 16.10.2013 / 22:25