Não foi possível conectar-se ao erro 111 do servidor MySQL [fechado]

152

Eu instalei o servidor mysql na caixa linux IP = 192.168.1.100, mas quando tento conectar-me a esse IP, sempre ocorre um erro (111). mas use localhost e 127.0.0.1 está OK.

cerveja @ cerveja-laptop # ifconfig | grep "inet addr"
          inet addr: 127.0.0.1 Máscara: 255.0.0.0
          endereço inet: 192.168.1.100 Bcast: 192.168.1.255 Máscara: 255.255.255.0

Você está em: Home '' Diretório do Produto '' Malas, Bolsas e Caixas ''
ERRO 2003 (HY000): Não é possível conectar ao servidor MySQL em '192.168.1.100' (111)

cerveja @ cerveja-laptop # mysql -ubeer -pbeer -hlocalhost
Bem-vindo ao monitor MySQL. Os comandos terminam com; ou \ g.
Seu ID de conexão MySQL é 160
Versão do servidor: 5.1.31-1ubuntu2 (Ubuntu)

Digite 'help'; ou '\ h' para obter ajuda. Digite '\ c' para limpar o buffer.

mysql> 

O que você precisa saber sobre o arquivo mysql -ubeer
Bem-vindo ao monitor MySQL. Os comandos terminam com; ou \ g.
O seu ID de conexão MySQL é 161
Versão do servidor: 5.1.31-1ubuntu2 (Ubuntu)

Digite 'help'; ou '\ h' para obter ajuda. Digite '\ c' para limpar o buffer.

mysql> 

Conecte-se de outra máquina e também erro 111.

outro @ outro-laptop # mysql -ubeer -pbeer -h192.168.1.100
ERRO 2003 (HY000): Não é possível conectar ao servidor MySQL em '192.168.1.100' (111)

Como a diferença entre usar localhost / 127.0.0.1 e 192.168.1.100 neste caso. Não sei como me conectar a esse banco de dados de outra máquina.

Ajuda por favor. Obrigado.

wearetherock
fonte

Respostas:

263

Provavelmente significa que seu servidor MySQL está apenas ouvindo a interface localhost.

Se você tem linhas como esta:

bind-address = 127.0.0.1

No seu my.cnfarquivo de configuração , você deve comentá-los (adicione um # no início das linhas) e reinicie o MySQL.

sudo service mysql restart

Obviamente, para fazer isso, você deve ser o administrador do servidor.

Pascal MARTIN
fonte
6
Obviamente, ele não tem a skip-networkinglinha ;-) #
22460 Michael Krelin #
11
como saber a localização do mysql my.cnf: stackoverflow.com/questions/2482234/…
Cyril Jacquart 6/15
2
mas o que acontece quando você PODE conectar-se a ele a partir do ambiente de trabalho mysql? Eu tenho o mesmo problema.
George Pamfilis
3
Eu segui o que é dado na resposta, mas ainda não consegui fazê-lo funcionar. Eu então descobri que o parâmetro "endereço de ligação" está no arquivo "/etc/mysql/mysql.conf.d/mysqld.cnf". Comentou por lá e funcionou!
Yahya
3
versões mais recentes do ubuntu> = 16,04 pode ter esta linha no /etc/mysql/mysql.conf.d/myqld.cnf
dellasavia
38

111 significa conexão recusada , o que, por sua vez, significa que o mysqld apenas escuta a localhostinterface.

Para alterá-lo, convém examinar o bind-addressvalor na mysqldseção do seu my.cnfarquivo.

Michael Krelin - hacker
fonte
Também vale a pena verificar se o número da porta é válido. Incompatibilidade :3306e :3307pode resultar em 111 erros também.
NXT
2
@ NXT, eu nem sei se o mysql pode escutar em portas diferentes em interfaces diferentes, mas é um cenário muito improvável (dados os sintomas no post original), mesmo que possa. Depois, pode haver regras de firewall, etc. Há muitas maneiras de conseguir isso, mas a probabilidade é diferente ...
Michael Krelin - hacker
Nem sempre significa isso. Meus my.cnfarquivos não possuem nenhuma bind-addressou nenhuma skip-networkinglinha e, mesmo assim, recebo o mesmo erro. Nenhum firewall instalado também. Acabaram as idéias.
Deleet 14/10/16
Bem, 111 sempre significa que a conexão foi recusada :) E o localhost-only é, neste caso específico, devido a outras evidências. Se você fornecer mais detalhes sobre o seu caso, posso ajudar? Além disso, atualmente, dependendo do seu sistema, é provável que você tenha uma configuração dispersa em vários arquivos.
Michael Krelin - hacker de
10

Se todas as respostas anteriores não deram nenhuma solução, verifique seus privilégios de usuário.

Se você pudesse fazer login rootno mysql, adicione este:

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY  '***';
GRANT ALL PRIVILEGES ON * . * TO  'root'@'192.168.1.100' IDENTIFIED BY  '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

Em seguida, tente conectar-se novamente usando mysql -ubeer -pbeer -h192.168.1.100. Deveria funcionar.

xnome
fonte
17
eu não acho que o erro privilégios de usuário relacionados daria erro 111.
ufk
1
Na verdade, funcionou e eu também estava recebendo um erro de 111.
Borjante 04/07/2015
parece que esta é uma solução melhor do que abrir o mysql para toda a rede comentando a linha 127.0.0.1. deve ser a melhor solução.
N
7

Se você estiver executando o cPanel / WHM, verifique se o IP está na lista de permissões no firewall. Você também precisará adicionar esse IP à lista de IPs remotos do SQL na conta do cPanel à qual está tentando se conectar.

Dragos.
fonte
1
Um bom "aviso" para ver se é um firewall que está causando o erro é que levará um bom tempo para que o erro seja retornado. Se o MySQL estiver causando problemas, a resposta deve ser praticamente instantânea.
Grim ...
Você pode explicar como isso é feito?
Utilizador