O erro 1045 do MySQL geralmente ocorre quando você tenta acessar seu banco de dados MySQL pelo WordPress. A solicitação será negada se o servidor não reconhecer sua autorização para realizar a ação. Por exemplo, você pode estar usando uma senha incorreta ou não ter as permissões necessárias.

Felizmente, existem várias maneiras de corrigir o erro 1045 do MySQL. Por exemplo, você pode redefinir sua senha, verificar as permissões do usuário e confirmar a porta de conexão.

Este artigo aborda algumas causas comuns do erro 1045 do MySQL e apresenta quatro métodos para corrigi-lo. Vamos começar!

O que é o erro 1045 do MySQL?

Esse erro pode aparecer de diferentes formas, mas, ao longo deste artigo, vamos nos referir a ele como erro 1045 do MySQL. No entanto, ele também pode aparecer como “Error 1045 (28000) access denied for user ‘username’@’hostname’”:

Um exemplo do erro 1045 do MySQL
Erro 1045 do MySQL

Você pode encontrar o erro 1045 do MySQL ao tentar acessar o banco de dados MySQL pelo WordPress. O MySQL é um sistema de gerenciamento de banco de dados que utiliza SQL (Structured Query Language), comumente usado para adicionar, acessar e gerenciar conteúdo em um site WordPress.

Outros sistemas populares de banco de dados que utilizam SQL incluem PostgreSQL e SQL Server, além de SQLite e MariaDB.

O MariaDB é o sistema utilizado nos sites WordPress hospedados na Kinsta e pode substituir diretamente o MySQL. Todas as informações sobre o “erro 1045” do MySQL também se aplicam ao MariaDB.

Quando você encontra essa mensagem de erro, isso indica que não tem autorização para acessar o banco de dados. Por exemplo, você pode estar usando uma senha incorreta, um nome de usuário errado ou ter permissões insuficientes.

Quais são as causas do erro 1045 do MySQL?

Veja algumas das principais causas do erro 1045 do MySQL:

  • Permissões insuficientes — Você não terá acesso ao banco de dados MySQL se não tiver as permissões necessárias do WordPress.
  • Usuário inexistente — Você também verá esse erro se não estiver registrado como usuário no servidor. Nesse caso, o banco de dados simplesmente não reconhece o usuário.
  • Credenciais de acesso incorretas — A causa do erro pode ser algo tão simples quanto usar a senha e o nome de usuário incorretos. Isso pode acontecer com frequência se você utiliza vários provedores de hospedagem, pois é fácil confundir as senhas.
  • Host incorreto — Se você não especificar o host ao qual deseja se conectar, o MySQL tentará se conectar ao localhost. No entanto, você pode estar tentando se conectar a outro host ou usar outra porta.
  • Interferência do Bash — Caracteres especiais na senha podem ser interpretados pelo Bash. No entanto, você pode colocar a senha entre aspas simples para evitar isso.
  • Ausência de SSL — Para acessar o banco de dados, pode ser necessário utilizar o protocolo Secure Sockets Layer (SSL), mas talvez você não tenha um certificado SSL válido.

Depois de identificar a causa do erro 1045 do MySQL, você terá mais condições de aplicar a solução correta. Assim, poderá eliminar a mensagem de erro e voltar ao trabalho.

Como corrigir o erro 1045 do MySQL (4 métodos)

Agora que você sabe um pouco mais sobre o erro 1045 do MySQL, vamos conhecer quatro métodos simples para corrigi-lo.

1. Verifique se o usuário tem os privilégios necessários

As credenciais e os privilégios de acesso dos usuários são armazenados no banco de dados de sistema mysql, especificamente nas tabelas user e db desse banco de dados. Uma das principais causas do erro 1045 do MySQL é que o nome de usuário definido na configuração do WordPress não tem as permissões necessárias para acessar o banco de dados do CMS no MySQL.

Se você tiver acesso ao MySQL pela linha de comando do servidor (diretamente na máquina ou via SSH), poderá atribuir as permissões necessárias fazendo login no MySQL como usuário root:

mysql -u root -p

Depois de inserir a senha desse superusuário e fazer login, você poderá conceder todas as permissões que provavelmente serão utilizadas por um banco de dados WordPress executando o comando GRANT. Usando como exemplo o nome de usuário “wp-admin” e um banco de dados WordPress chamado “companydb” em “localhost”, o comando seria:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON companydb.* TO 'wp-admin'@'localhost';

Em muitos provedores de hospedagem de sites, você também pode verificar os privilégios dos usuários usando o phpMyAdmin.

Na Kinsta, você não tem acesso root ao MariaDB pelo phpMyAdmin, mas as credenciais de acesso ao banco de dados necessárias para a configuração do WordPress estão sempre disponíveis no painel de controle MyKinsta.

2. Certifique-se de que está usando o nome de usuário e a senha corretos

Embora pareça simples, às vezes o erro 1045 do MySQL ocorre porque você está usando credenciais de acesso incorretas. Felizmente, você pode verificar essas informações consultando o arquivo wp-config.php.

Você pode encontrar esse arquivo fazendo login no painel de controle do seu provedor de hospedagem e acessando um gerenciador de arquivos. Ou pode se conectar ao seu site via SFTP.

Com essa abordagem, primeiro você precisa localizar o diretório raiz do seu site, que geralmente é identificado como public_html. Em seguida, procure o arquivo wp-config.php dentro dele:

Localizando o arquivo wp-config.php usando um cliente FTP
Localize o arquivo wp-config.php.

Abra o arquivo e verifique se DB_USER e DB_PASSWORD contêm os valores corretos (geralmente definidos durante a instalação do WordPress).

Se você não se lembra da senha que criou e seu provedor de hospedagem utiliza o cPanel, acesse Database e clique em MySQL.

Se você é cliente da Kinsta, pode encontrar as credenciais do banco de dados no MyKinsta acessando Sites > nome do site > Informações e, em seguida, rolando para baixo até a seção Acesso ao banco de dados:

Uma captura de tela do cartão Acesso ao banco de dados no MyKinsta.
Localizando as opções do phpMyAdmin e de acesso ao banco de dados no MyKinsta.

Você pode copiar o nome de usuário e a senha desses campos no MyKinsta.

3. Redefina sua senha

Se você não se lembra da senha do banco de dados, pode redefini-la para recuperar o acesso ao MySQL e corrigir o erro.

Se você tiver acesso ao MySQL pela linha de comando, poderá fazer login como usuário root e atualizar a senha dos usuários do banco de dados WordPress da seguinte maneira:

ALTER USER 'wp-admin'@'localhost' IDENTIFIED BY 'NewStrongPassword';

O comando acima estabelece uma nova senha para um usuário chamado wp-admin.

4. Certifique-se de que o servidor MySQL está aceitando conexões na porta correta

Outra solução rápida para o erro 1045 do MySQL é verificar se o servidor está aceitando conexões na porta correta. Antes disso, porém, é útil verificar se o MySQL está em execução.

Você pode verificar o status do servidor executando o seguinte comando:

systemctl status mysql

Se o servidor não estiver em execução, inicie-o usando este comando:

systemctl start mysql

A porta padrão do MySQL é 3306, portanto, você pode verificar se ele está utilizando a porta correta. Abra um terminal ou prompt de comando no servidor em que o MySQL está instalado.

Em seguida, conecte-se ao servidor usando este comando:

mysql -username -password

Agora, digite o seguinte comando para exibir o número da porta em que o servidor MySQL está aceitando conexões:

SHOW VARIABLES LIKE ‘port’:

Você pode alterar o parâmetro da porta nesse local ou no arquivo de configuração. Em seguida, reinicie o servidor MySQL para aplicar as alterações.

Resumo

Os erros do WordPress podem ser frustrantes e dificultar a realização de alterações importantes no seu site. O erro 1045 do MySQL é particularmente problemático porque impede o acesso ao banco de dados. Felizmente, existem maneiras de corrigi-lo.

Para começar, talvez seja necessário verificar se você tem os privilégios necessários para acessar o banco de dados. Ou o problema pode ser simplesmente o uso de um nome de usuário e uma senha incorretos. Como alternativa, você pode redefinir sua senha ou verificar se o servidor MySQL está aceitando conexões na porta correta.

Na Kinsta, todos os nossos planos oferecem suporte de alta qualidade para ajudar você a solucionar problemas rapidamente. Além disso, nossa hospedagem de banco de dados conta com 24 centros de dados e mais de 24 localizações da Rede de Distribuição de Conteúdo (CDN), oferecendo velocidade, segurança e escalabilidade. Confira nossos planos hoje mesmo!

Jeremy Holcombe Kinsta

Editor de Conteúdo & Marketing na Kinsta, Desenvolvedor Web WordPress e Escritor de Conteúdo. Fora do universo WordPress, eu curto praia, golfe e filmes. Também enfrento problemas de gente alta ;).