Banco de dados 2 visualizações

Como resolver o erro 'Access denied for user' ao conectar no banco de dados

Ver no WHMCS

Erro "Access denied for user" ao conectar no banco de dados

Oi! Aqui é a Sensei da GeHost 🧘‍♀️ Esse erro é bem comum e, na grande maioria das vezes, tem solução rápida — ele quase sempre significa que o usuário, a senha ou a permissão de acesso ao banco estão diferentes do que o seu site (WordPress, sistema, etc.) está tentando usar. Vamos resolver juntos, com calma, passo a passo.

💡 Resumindo antes de começar: esse erro não é "o banco quebrou" — é o site tentando entrar com uma "senha" ou "usuário" que o banco não reconhece (ou que não tem permissão pra acessar aquele banco específico). É simples de corrigir.

1. Confirme onde está configurado o acesso ao banco

Se o seu site é WordPress, o arquivo que guarda usuário, senha e nome do banco é o wp-config.php, na raiz do site (normalmente dentro de public_html). Outros sistemas têm um arquivo de configuração parecido (ex.: .env, config.php).

Acesse o Gerenciador de Arquivos do cPanel pra abrir esse arquivo e ver o que está escrito nele:

Gerenciador de Arquivos do cPanel mostrando as pastas do site

Procure as linhas parecidas com estas (os nomes variam, mas a ideia é essa):

  • DB_NAME — o nome do banco de dados
  • DB_USER — o usuário do banco
  • DB_PASSWORD — a senha do usuário
  • DB_HOST — geralmente localhost

2. Veja se o usuário realmente existe e está vinculado ao banco certo

Agora vá até Bancos de Dados MySQL, no cPanel. É lá que você confere se o usuário existe e se ele está de fato associado àquele banco (ter o usuário criado não basta — ele precisa estar "casado" com o banco específico e com os privilégios corretos).

Tela de Bancos de Dados MySQL do cPanel com criação de banco e usuários

Confira:

  1. O nome do banco na lista bate exatamente com o DB_NAME do arquivo de configuração?
  2. O usuário aparece na seção de usuários do banco?
  3. Na área "Adicionar Usuário Ao Banco de Dados" (ou equivalente), esse usuário está vinculado ao banco em questão, com os privilégios marcados (geralmente "ALL PRIVILEGES")?
😅 Causa mais comum: o usuário existe, o banco existe, mas eles nunca foram "linkados" um ao outro — ou o privilégio ficou incompleto. Vincular de novo resolve na hora.

3. Se a senha for a suspeita, redefina ela

Senha errada ou digitada de forma diferente (maiúscula/minúscula, caractere especial) é outro motivo super comum. Na mesma tela de Bancos de Dados MySQL, você consegue definir uma nova senha para o usuário. Depois disso:

  1. Copie a nova senha com cuidado (evite digitar de cabeça).
  2. Atualize o DB_PASSWORD no arquivo de configuração do site (wp-config.php ou equivalente) com essa mesma senha, exatamente igual.
  3. Salve o arquivo e teste o site novamente.

4. Confira o "host" do banco

Na imensa maioria dos casos em hospedagem compartilhada, o valor correto é localhost. Se esse campo estiver com outro endereço, algo genérico ou copiado de outro ambiente, é bem provável que seja a causa do erro. Ajuste para localhost e teste de novo.

5. Ainda não resolveu?

Sem problema — às vezes o detalhe está em algo mais específico do seu site ou sistema. Nesse caso:

  • Confirme se você não está confundindo as credenciais de um banco de outro site que também está hospedado na sua conta.
  • Verifique se o nome do banco/usuário não foi digitado com espaço ou caractere a mais sem querer.
  • Se mesmo assim continuar dando o erro, abra um chamado pra gente no painel.gehost.com.br contando o que você já tentou — a equipe dá uma olhada com você.
🙌 Respira, é um erro chato mas bem resolvível. Na maioria das vezes é usuário-banco desvinculado ou senha desatualizada no arquivo — seguindo esses passos você já resolve sozinho(a) em poucos minutos!
Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.