.
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’.
Há 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”.
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.

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.

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:

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:

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:

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.

Um homem com uma tecnologia efusiva que explorou algumas das incríveis coisas da tecnologia e está explorando mais. Enquanto avançava, tive a chance de trabalhar no desenvolvimento Android, Linux, AWS e DevOps com várias ferramentas de código aberto.
.