Base de Conhecimento

Erro 2002 MySQL: não conecta ao servidor, como resolver

  • mysql, erro 2002, socket mysql, porta 3306, mysqladmin, conexão
  • Usuários acharam útil: 0

Entenda o erro 2002 do MySQL, teste se o servidor roda, confira socket e porta 3306 e revise firewall, skip_networking e bind_address em ordem.

Por Redação Eleven Host · @robson.direitodigital · 29 de outubro de 2026 · 8 min de leitura

Arte da Eleven Host: janela de terminal com o título da matéria sobre erro 2002 mysql

Capa da Redação Eleven Host para a matéria: Erro 2002 MySQL: não conecta ao servidor, como resolver Arte: Eleven Host

O erro 2002 MySQL aparece quando o cliente não consegue falar com o servidor. Segundo o manual do MySQL 8.4, ele normalmente indica que não há servidor MySQL rodando, ou que o socket ou a porta usados estão errados. Firewall também pode bloquear.

Este guia mostra, em ordem, o que conferir: se o serviço está de pé, se a conexão usa socket ou rede, qual porta está valendo e o que pode estar no caminho. Os fatos vêm do manual do MySQL 8.4, na seção sobre o erro "Can't connect to MySQL server". Os exemplos usam exemplo.com como endereço fictício.

O que o erro 2002 significa

A mensagem fala em não conseguir conectar ao servidor MySQL. Ela não diz que a senha está errada nem que o comando tem defeito. O problema acontece antes disso: o cliente nem chegou a conversar com o servidor.

O manual do MySQL 8.4 explica que o 2002 normalmente significa uma de duas coisas:

  • não existe um servidor MySQL rodando naquela máquina;
  • você está usando um nome de arquivo de socket Unix ou um número de porta TCP/IP incorreto ao tentar conectar.

O manual ainda pede que você confira se a porta TCP/IP em uso não foi bloqueada por um firewall ou por um serviço de bloqueio de portas. A investigação tem então três frentes: o serviço, o caminho (socket ou porta) e o que fica no meio do trajeto.

Passo 1: o servidor MySQL está rodando?

Comece pelo mais simples. O manual sugere procurar o processo do servidor com este comando:

ps xa | grep mysqld

Se não aparecer nenhum processo mysqld, o servidor está parado. Isso explica o erro. Em um servidor Ubuntu, o comando padrão do sistema para ver o estado do serviço é:

sudo systemctl status mysql

Se ele estiver parado, o mesmo comando systemctl também serve para iniciar o serviço. As mensagens exatas variam, então leia com calma o que o seu sistema mostrar.

Se você ainda não tem o MySQL instalado na sua VPS, o passo a passo está em Instalar MySQL no Ubuntu: passo a passo na VPS.

Passo 2: socket Unix ou TCP/IP?

O cliente MySQL pode falar com o servidor de dois jeitos. O manual descreve a diferença assim: o socket Unix é mais rápido que o TCP/IP, mas só funciona na mesma máquina em que o servidor roda. A conexão pela rede usa TCP/IP.

O cliente escolhe o jeito sozinho:

  • Se você não informa o host, ou se o host é localhost, o cliente usa o socket Unix.
  • Se você informa um endereço de rede, ele usa TCP/IP.

Entenda

Socket é um arquivo de comunicação dentro do próprio servidor. TCP/IP é a conexão pela rede, por uma porta. O erro 2002 pode vir dos dois lados.

  • Socket: o arquivo não existe ou está em outro caminho.
  • TCP/IP: a porta está errada, fechada ou bloqueada.
  • Dica do manual: usar -h 127.0.0.1 força a conexão por TCP/IP no computador local.

Essa dica ajuda a descobrir onde está o defeito. Se a conexão por localhost (socket) falha e a feita com -h 127.0.0.1 (rede) funciona, o servidor está de pé e o problema está no arquivo de socket. Se as duas falham, volte ao passo 1.

O manual cita /tmp/mysql.sock como socket padrão. Em Ubuntu, o pacote costuma usar outro caminho. Não copie o caminho do manual: ache o seu com o comando da próxima seção.

Passo 3: testar a conexão com mysqladmin

O manual usa o programa mysqladmin para testar a conexão. Estes são os comandos que ele sugere:

  • mysqladmin version testa a conexão padrão e mostra a versão do servidor.
  • mysqladmin variables lista as variáveis do servidor.
  • mysqladmin -h 127.0.0.1 --port=3306 version testa por TCP/IP, na porta 3306.
  • mysqladmin --protocol=SOCKET --socket=/tmp/mysql.sock version testa por socket, informando o caminho do arquivo.

Para descobrir onde está o socket, o manual usa este comando:

netstat -ln | grep mysql

Ele procura, entre as conexões abertas, as que têm "mysql" no nome. O caminho do arquivo de socket aparece na linha encontrada. Use esse caminho no parâmetro --socket do teste anterior.

Qual é a porta do MySQL?

A porta é definida pela variável port, e o valor padrão é 3306. Se alguém mudou a porta no servidor, o cliente precisa usar a nova. Quando ela é diferente da padrão e você não informa, o erro 2002 é uma consequência esperada.

Um teste simples para saber se há algo ouvindo na porta é o telnet, que o manual também cita:

telnet exemplo.com 3306

Segundo o manual, se o telnet responder com a versão do MySQL, o servidor está ouvindo na porta. Se aparecer "Connection refused", não há nada ouvindo naquela porta.

Quer um banco de dados pronto, sem cuidar do servidor? Veja o 11SQL Mini a partir de R$ 9,90/mês e confira na loja o que cada plano inclui. Ver o 11SQL

Causas mais comuns do erro 2002

O manual do MySQL 8.4 lista causas que levam à falha de conexão. Confira uma por vez:

  • Servidor parado: o processo mysqld não está rodando. É a causa mais simples e a primeira a conferir.
  • Arquivo de socket apagado: alguém ou algo removeu o arquivo. O manual cita como exemplo um cron que limpa o /tmp.
  • Socket em outro caminho: o servidor foi iniciado com a opção --socket apontando para um lugar diferente, e o cliente não sabe onde procurar.
  • Firewall bloqueando a porta 3306: confira o iptables ou a ferramenta de firewall que você usa.
  • skip_networking ligado: com essa opção, o servidor não aceita conexões TCP/IP, só o socket local.
  • bind_address em 127.0.0.1: o servidor aceita só conexões da própria máquina e recusa as remotas.
  • Permissões do socket: o cliente precisa ter acesso ao diretório e ao arquivo mysql.sock.
  • SELinux: o manual também o cita como possível barreira.

O erro 2002 quase nunca é problema de senha: ele acontece antes do login, no caminho entre o cliente e o servidor.

Erro 2002 quando você conecta de outro computador

Se o erro aparece só quando você tenta entrar de fora da VPS, olhe para os itens de rede da lista acima: skip_networking, bind_address em 127.0.0.1 e o firewall na porta 3306. O padrão pode variar conforme a instalação, então confirme na configuração do seu servidor.

Abrir o MySQL para a internet exige cuidado com usuários e firewall. O passo a passo seguro está em Acesso remoto MySQL: como liberar com segurança.

Erro 2002 e erro 2003: qual a diferença?

O manual trata os dois na mesma seção. O 2003 aparece como "Can't connect to MySQL server on 'server' (10061)" e indica que a conexão de rede foi recusada. Nesse caso, confira três coisas:

  1. se o servidor está rodando;
  2. se ele aceita conexões de rede;
  3. se a porta usada é a que está configurada.

Os passos de diagnóstico deste guia servem aos dois.

E se aparecer outro erro depois?

Resolvido o 2002, a conexão passa a chegar ao servidor, e aí aparecem outros erros, que são de outra natureza. Se vier "Access denied", o problema é de usuário ou senha, e o guia Erro 1045 MySQL: Access denied for user, como resolver cobre esse caso. Se o usuário ainda não existe, veja Criar usuário MySQL: como dar permissões com GRANT.

Como evitar o erro 2002 no futuro

  • Anote o caminho do socket e a porta: guarde os dois num lugar seguro para consultar quando o erro voltar.
  • Não limpe o /tmp sem cuidado: se o socket fica ali, uma limpeza automática pode apagá-lo.
  • Confira o serviço depois de reiniciar o servidor: rode o comando de estado do serviço e veja se o MySQL subiu.
  • Documente mudanças de porta ou de socket: quem muda a configuração precisa avisar quem usa o cliente.
  • Mantenha o firewall revisado: abra a porta 3306 só para quem precisa.

Entenda

Roteiro rápido para o erro 2002:

  1. Rode ps xa | grep mysqld e veja se o servidor está de pé.
  2. Teste mysqladmin version e depois com -h 127.0.0.1 --port=3306.
  3. Ache o socket com netstat -ln | grep mysql.
  4. Teste a porta com telnet.
  5. Revise firewall, skip_networking, bind_address, permissões e SELinux.

Precisa de um servidor próprio para o MySQL? A VPS Plano Bronze sai a partir de R$ 17,00/mês; confira na loja o que o plano inclui. Ver planos de VPS

Perguntas frequentes

O erro 2002 significa que minha senha está errada?

Não. Segundo o manual do MySQL 8.4, ele indica que não há servidor rodando ou que o socket ou a porta estão incorretos. A senha só entra em jogo depois que a conexão chega ao servidor.

Como forçar a conexão por rede no computador local?

Use -h 127.0.0.1 no comando do cliente. O manual explica que isso força o TCP/IP, enquanto localhost ou a ausência de host usam o socket.

Qual é a porta padrão do MySQL?

A variável port define a porta, e o valor padrão é 3306. Se o servidor usa outra porta, o cliente precisa informá-la.

O firewall pode causar o erro 2002?

Pode. O manual pede que você confira se a porta TCP/IP não foi bloqueada por firewall. Revise as regras do iptables ou da ferramenta que você usa.

Qual é a diferença entre os erros 2002 e 2003?

O 2003 indica conexão de rede recusada. Já o 2002 aponta para servidor parado, socket ou porta incorretos. Os passos de diagnóstico servem para os dois.

Esta resposta lhe foi útil?

Artigos Relacionados