O erro 1045 quer dizer uma coisa só: a conexão chegou ao banco de dados, e o banco de dados recusou o par usuário e senha. Não é um servidor fora do ar nem uma porta fechada: é a credencial que não confere. Quase sempre resolve-se em dez minutos, desde que se procure pela ordem certa.
A mensagem completa traz duas pistas que valem ouro: Access denied for user 'abc_util'@'localhost' (using password: YES). O nome entre aspas é o usuário que a aplicação usou, e o YES ou NO diz se enviou alguma senha.
As causas, da mais à menos provável
| O que a mensagem mostra |
A causa e a correção |
| Usuário sem o prefixo da conta (por exemplo util em vez de abc_util) |
No cPanel, nome da base e nome do usuário levam o nome da conta à frente. Na aplicação vai o nome completo, tal como aparece em MySQL Databases. |
| using password: YES |
A senha enviada não é a deste usuário. Alguém a mudou no cPanel e o arquivo de configuração ficou com a antiga, ou a cópia veio de outro servidor com a de lá. |
| using password: NO |
A aplicação não enviou senha nenhuma: o campo está vazio, o arquivo de configuração não foi lido, ou a variável de ambiente (.env) não existe neste lugar. |
| A senha tem aspas, $, # ou @ |
O caractere partiu a linha de código ou o endereço de ligação. Gere uma senha nova só com letras e algarismos, em vez de lutar com o escape. |
| O endereço depois do @ não é localhost |
A conexão não vem da própria conta. De fora, a porta do banco de dados está fechada; veja Remote MySQL e o túnel SSH. |
Resolver, passo a passo
| 2 |
Confira o nome da base e do usuário com o que o cPanel mostra em MySQL Databases, letra a letra, prefixo incluído. O servidor (host) é localhost.
|
|
| 3 |
Não adivinhe a senha: defina uma nova. Em MySQL Databases, na lista de usuários, escolha alterar a senha, gere uma e guarde-a. Cole exatamente essa no arquivo, sem espaços a mais nas pontas.
|
|
| 4 |
Confirme que o usuário está ligado à base. Em Add User To Database junte os dois e dê os privilégios. Sem esta ligação o erro muda para o 1044, descrito em Erro 1044.
|
|
| 5 |
Se tem SSH, prove as credenciais fora do site: mysql -u abc_util -p abc_base pede a senha e diz logo se entra. Se entra, o defeito está no arquivo da aplicação e não na base.
|
|
E num VPS com o seu próprio banco de dados?
O erro Access denied for user 'root'@'localhost' é dos mais pesquisados. Em muitas instalações (Ubuntu e Debian, por exemplo) o usuário root do banco de dados não entra com senha: entra pelo sistema, com sudo mysql. Quem tenta uma senha inventada recebe o 1045. Num VPS estes comandos e o banco de dados são seus; veja até onde vai o nosso apoio em até onde vai o nosso suporte.
|
Já refez o usuário e a senha e o 1045 continua? Envie-nos a mensagem completa, com o nome do usuário que ela mostra.
Abrir um pedido de suporte
|
PRODUTO RECOMENDADO Hospedagem de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom) Ver planos |