ERRO 2003 (HY000): Não é possível conectar ao servidor MySQL em '127.0.0.1' (111)

135

Eu uso o seguinte comando:

mysql -u root -h 127.0.0.1 -p

e a mensagem de erro é:

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

Quem pode me ajudar a consertar isso?

Charlie Epps
fonte
3
O daemon mysql está em execução? Você tem um firewall? Você pode telnet para mysql a porta padrão é 306 so - telnet localhost 3306
mmmmmm
o daemon mysql está em execução. Tenho certeza.
9789 Charlie Epps #
1
Sou eu ou se você está se conectando ao servidor mysql local, não precisa especificar o host, por exemplo, mysql -u root -p deve funcionar?
RMcLeod 4/11/2009
só para ter certeza, você está tentando se conectar ao servidor db localmente?
John Kane
Atualizei o mysql no ubuntu-12.04.2. A versão é 14.14 Distrib 5.5.32, para debian-linux-gnu (x86_64) usando o readline 6.2, sua configuração padrão não contém 'skip-networking'. Portanto, você não encontrará o erro nesta versão.

Respostas:

220

Se você estiver usando ubuntu, precisará executar as seguintes etapas para evitar esse erro (se não houver replicação ativada):

  1. execute o comando vim /etc/mysql/my.cnf
  2. comentar bind-address = 127.0.0.1usando o símbolo #
  3. reinicie o servidor mysql uma vez.

Atualizar

Na etapa 1, se você não conseguir encontrar bind-addresso my.cnfarquivo, procure-o no /etc/mysql/mysql.conf.d/mysqld.cnfarquivo.

Atualização em caso de replicação do MySQL ativada

Tente conectar o servidor MySQL no IPqual o servidor MySQL está vinculado em 'my.cnf instead oflocalhost ou 127.0.0.1'.

Justin Vincent
fonte
8
Obrigado!!! Eu estava tentando descobrir isso há muito tempo! Eu comentei essa linha, salvei o arquivo e depois corri service mysql restart. E agora funciona!
Ryan
No meu caso, eu tinha o endereço do servidor em vez de 127.0.0.1 para o endereço de ligação. Se esse for o seu caso, você precisará comentar isso também.
Vlad Schnakovszki
4
Não há bind-address = 127.0.0.1dentro/etc/mysql/my.cnf
RegarBoy 25/11
6
@ desenvolvedor, eu encontrei o meu aqui: /etc/mysql/mysql.conf.d/mysqld.cnf
uma vez
Mudei o endereço de ligação = <servidor principal ip>, mas não consigo reiniciar o mysql.
Avi Kehat 22/02
14

Tente em localhostvez de 127.0.0.1conectar-se ou no seu connection-config. Trabalhou para mim em um servidor Debian Squeeze

grex_e
fonte
Para sua informação, se você especificar localhost, isso informa ao Mysql para conectar-se através do soquete unix (/var/run/mysqld/mysqld.sock no ubuntu) ao invés de um soquete TCP.
Duke
8

Isso acontece quando você esquece de iniciar o banco de dados antes de conectar-se a ele:

mysql.server start

então

mysql -u root -p -h 127.0.0.1
Henry
fonte
no terminal no mac e linux. Eu acredito que é o mesmo no Windows CMD, mas não tenho certeza.
Henry
Eu tive que iniciar o servidor MySQL usando sudo service mysqld startna minha instância do AWS EC2 com o MySQL Community Server.
harshainfo
6

No meu caso (conexão remota) ajudou a desativar o firewall no servidor.

service iptables stop
Bunyk
fonte
@ram Provavelmente você está usando outro firewall. Ou seu problema não é um firewall. Verifique a documentação para sua distribuição Linux.
Bunyk
1
@ram tryservice firewalld stop
Maxim Mazurok
1
O MySQL normalmente é executado na porta 3306, portanto, adicione-o ao seu firewall
kurdtpage 21/02
6

Esse problema pode ocorrer porque o servidor MySQL não está instalado e em execução. Para fazer isso, inicie o prompt de comando como admin e digite o comando:

"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --install

Se você receber a mensagem "serviço instalado com sucesso", precisará iniciar o serviço MySQL. Para fazer isso: vá para a janela Serviços (Gerenciador de tarefas -> Serviços -> Serviços abertos) Pesquise MySQL e inicie-o na barra de navegação superior. Então, se tentar abrir o mysql.exe, ele funcionará.

S.Roshanth
fonte
2
Um pequeno erro, cd "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin" e então mysqld --install. Além disso, o número do servidor depende do download.
precisa
Fazendo isso fixa o meu problema
Steffi Keran Rani J
6

observe o my.cnfarquivo, se houver [client]seção, e a portporta de escuta for diferente da porta de escuta real (padrão 3306), você deve conectar o servidor com parâmetro explícito -P 3306, por exemplo

mysql -u root -h 127.0.0.1 -p -P 3306

Yu Jiaao
fonte
Onde posso procurar o my.cnf. a sua não existe no servidor wamp, no meu laptop
Deepak Keynes
No windows, ele chama 'my.ini' normalmente
Yu Jiaao
Para mim a porta era o problema. Graças
Chandra Eskay
0

Você precisa alterar o parâmetro de endereço de ligação para 127.0.0.1 no arquivo de configuração do mysql (my.ini ou my.cnf) ou usar o que está definido lá.

Se isso não funcionar, você deve verificar se o serviço mysql está realmente em execução.

nkr1pt
fonte
1
Adicionei a linha "bind-address = 127.0.0.1" ao arquivo my.cnf. Mas isso não funciona.
9789 Charlie Epps
2
Se esta linha estiver presente, o mysql ouvirá SOMENTE o endereço listado. Para habilitar o acesso remoto, você deve REMOVER esta linha. Esteja ciente da implicação de segurança que isso tem.
Webkraller 16/09/11
adicionar bind-address =127.0.0.1my.cnf desabilita a conexão remota com o banco de dados. Portanto, mesmo que funcione (o que não é) - essa não é uma boa solução.
Nir Alfasi
O endereço de ligação deve ser 0.0.0.0, a menos que você não queira que mais ninguém se conecte.
Marquês de Lorne
0

Incase você estiver executando em uma porta não-padrão, você pode tentar usar --port=<port num> fornecidos --skip-networkingsejanot enabled.

KDAS
fonte
0

Eu só tenho esse problema .... executando no Win7 e no servidor wamp ... depois de ler este

Verificou que o Firewall do Antivírus causou o problema.

Adhie_x
fonte
0

Eu também estava enfrentando o mesmo problema. O seguinte me ajudou a resolver o problema: vá ao painel de controle-> Ferramentas administrativas -> serviços dentro deste, você certamente verá o serviço MySQL: clique com o botão direito do mouse e diga iniciar (forçar o início).

Mightian
fonte
0

Para usuários do Docker - Ao tentar conectar o sql local usandomysql -u root -h 127.0.0.1 -pe seu banco de dados estiver em execução nocontêiner Docker , verifique se o serviço mysql está em funcionamento (verifique usandodocker pse verifique também se você está na porta correta), se o contêiner estiver para baixo, você receberá um erro de conexão.

A melhor prática é configurar os ips na /etc/hostssua máquina:

127.0.0.1 db.local

e executando-o mysql -u root -h db.local -p

avivamg
fonte
0

Tente não desligar o iptables e abrir a porta 3306.

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

ou sudo ufw allow 3306se você usa o ufw.

check: netstat -lnp | grep mysqlvocê deve obter sth assim:

cp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2048/mysqld         
tcp6       0      0 :::33060                :::*                    LISTEN      2048/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     514961   2048/mysqld          /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     514987   2048/mysqld          /var/run/mysqld/mysqlx.sock

se você tiver nulo, exclua # antes da porta = 3306 no arquivo cnf.

Karol Preiskorn
fonte
0

Por favor, verifique se o seu servidor MySql está rodando no host local.

No Linux

Para verificar se o servidor MySql está em execução:

sudo service mysql status

Para executar o servidor MySql:

sudo service mysql start

No Windows

Para verificar se o servidor MySql está em execução:

C:\Windows\system32>net start

Se o MySql não estiver na lista, você deverá iniciar / executar o MySql.

Para executar o servidor MySql:

C:\Windows\system32>net start mysql

Espero que isto ajude.

Safiqur Rhaman
fonte
-1

Alterei o diretório de instalação ao reinstalar e funcionou.

Gursimran Pannu
fonte
-2

Acabei de reiniciar o meu servidor mysql e o problema resolvido no windows net para o MySQL e, em seguida, inicia o MySQL serviço de linux sudo do Ubuntu

jasim
fonte