Erro 2002 MySQL: não conecta ao servidor, como resolver
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

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.1forç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 versiontesta a conexão padrão e mostra a versão do servidor.mysqladmin variableslista as variáveis do servidor.mysqladmin -h 127.0.0.1 --port=3306 versiontesta por TCP/IP, na porta 3306.mysqladmin --protocol=SOCKET --socket=/tmp/mysql.sock versiontesta 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
mysqldnã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
--socketapontando para um lugar diferente, e o cliente não sabe onde procurar. - Firewall bloqueando a porta 3306: confira o
iptablesou 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:
- se o servidor está rodando;
- se ele aceita conexões de rede;
- 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:
- Rode
ps xa | grep mysqlde veja se o servidor está de pé. - Teste
mysqladmin versione depois com-h 127.0.0.1 --port=3306. - Ache o socket com
netstat -ln | grep mysql. - Teste a porta com
telnet. - 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.