technology

Erro resolvido: 1698 (28000) Acesso negado para o usuário ‘root’@’localhost’

.

Com nossas etapas fáceis, você pode resolver facilmente o erro 1698 (28000) Acesso negado para o usuário.

Este erro é muito comum quando você tenta Conecte-se para o seu MySQL para o primeira vez.

Pessoalmente, eu também enfrentei esse problema várias vezes, talvez porque não estávamos seguindo o caminho certo para instalar o MySQL, ou esquecemos de definir uma senha, ou então não obtivemos as opções para definir uma senha.

Da mesma forma, pode haver muitos outros motivos para o erro acima, mas a solução para esse erro é bastante simples e fácil. Neste artigo, você vai encontrar a caminho para resolve 1698 (28000) Acesso negado para o usuário ‘root’@’localhost’.

dois maneiras de resolver esse erro.

Primeiro, você verá um método simples e menos demorado. Se o primeiro método não funcionou no seu caso, vá para o segundo.

Método 1: A maneira mais fácil de corrigir o erro 1698 (28000): Acesso negado para o usuário

Uma das maneiras mais fáceis de resolver esse erro é invocar “mysql_secure_installation”que solicitará que você defina uma senha para o usuário root do MySQL.

$ sudo mysql_secure_installation 

Você precisa inserir uma nova senha e, para confirmação, digite novamente essa senha.

Se a senha tiver menos de 25 caracteres, você será solicitado a confirmar se deseja continuar ou não. Se você não deseja definir caracteres de senha com mais de 25, basta digitar “n”.

Corrigir erro usando mysql_secure_installation

No meu caso, não funcionou e me deu um erro na tela:

“Fracassado! Erro: SET PASSWORD não tem significado para o usuário ‘root’@’localhost’, pois o método de autenticação usado não armazena dados de autenticação no servidor MySQL.

Considere usar ALTER USER se quiser alterar os parâmetros de autenticação.”

Se a mesma coisa acontecer com você também, feche o terminal e siga o segundo conjunto de etapas, que funcionou no meu caso para resolver o erro 1698 (28000) Acesso negado para o usuário.

Método 2: corrigir o erro 1698 (28000): acesso negado para usuário usando Alter

Quando você instala o MySQL pela primeira vez, há uma chance de você não encontrar a opção de definir uma senha por causa do novo método de autenticação de usuários.

Se for assim, você precisa fazer login no MySQL como usuário root.

Na maioria das vezes, os usuários podem tentar fazer login no MySQL como “mysql -u usuário” ou “mysql -u root”mas não vai funcionar porque “[email protected]” ainda não foi criado em seu sistema e o root não pode ser acessado sem privilégios de sudo.

E quando você tenta fazer login como usuário root com “mysql -u [email protected]”você obterá o erro abaixo.

Erro MySQL 1698(2800) Acesso negado
Erro MySQL 1698 (2800)

Verifique o mecanismo de autorização

Para resolver isso, você deve fazer login no MySQL como um sudo na nova instalação porque a conta vinculada ao MySQL é a conta “root”, não a conta “user”.

Execute o comando abaixo em seu terminal:

$ sudo mysql -u root

Depois de fazer login, você encontrará o console do MySQL parecido com a imagem mostrada abaixo.

Faça login no MySQL com sudo
Faça login no MySQL com sudo

Agora você pode acessar sua conta MySQL com o comando acima, mas há um pequeno problema com isso: você não pode fazer login no MySQL sem privilégios sudo.

Para corrigir isso, você pode criar um novo usuário e conceder os privilégios necessários, ou então alterar o mecanismo de autenticação de senha da conta root.

Existem diferentes tipos de mecanismos de senha suportados pelo MySQL por padrão que você encontrará “auth_socket” para sua conta root para torná-la robusta, você pode escolher convencional “mysql_native_password” ou o mais recente caching_sha2_password na versão posterior 8.0.0

Se você quiser saber mais sobre plug-ins de autenticação, confira Documentação de autenticação do MySQL.

Antes de passar para a próxima etapa, você deve verificar o que senha mecanismo ou plugar está ligado ao seu raiz conta.

Para descobrir, você pode executar as seguintes consultas no console do MySQL:

mysql> SELECT User, plugin from mysql.user ;

O comportamento do comando acima é mostrado abaixo:

Verificar-senha-plugin-in-MySQL
Verifique o plug-in de senha no MySQL

Definir uma senha na conta root

Agora você pode definir ou atualizar sua senha seguindo o trecho abaixo. Certifique-se de substituir [ENTER-NEW-PASSWORD] com o seu senha e, antes disso, selecione o banco de dados MySQL.

mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '[ENTER-NEW-PASSWORD]';

Saída:

Definir senha no MySQL
Definir senha no MySQL

estou a usar “caching_sha2_password”.

Se você quiser usar “mysql_native_password” sobre > MySQL 5.7 versão, digite as consultas abaixo em seu console MySQL.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '[ENTER-NEW-PASSWORD]';

Uma vez implementadas as mudanças, reiniciar o serviço MySQL.

$ sudo systemctl restart mysql.service

E assim que o serviço for reiniciado, digite o código abaixo no seu terminal e digite a senha que você definiu acima.

$ mysql -u root -p

Saída:

Faça login no MySQL após resolver o erro
Faça login novamente no MySQL depois de resolver o erro

Empacotando

Isso é tudo para resolver o erro 1698 (28000) Acesso negado para o usuário no MySQL.

Tenho certeza de que depois de seguir as etapas acima, você poderá resolver o problema, mas se ainda estiver com problemas, informe-me na seção de comentários.

Se você estiver interessado em aprender como alterar o número da porta do MySQL, confira este artigo.

Vejo você mais tarde no próximo artigo.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo