technology

Status Resolvido: Falha! Erro: SET PASSWORD não tem significado para o usuário ‘root’@’localhost’

.

Obtendo o erro: “Falha! Erro: SET PASSWORD não tem significado para o usuário ‘root’@’localhost”? Em seguida, leia as etapas aqui para corrigi-lo.

Quando você executar o mysql_secure_installation comando na janela do seu terminal, ele solicitará que você insira a senha root e configure as opções de segurança para a instalação do MySQL.

Mas quando você tenta definir uma senha para a conta root, você recebe a seguinte mensagem de 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 desejar alterar os parâmetros de autenticação.

Esse erro geralmente ocorre quando você tenta definir uma senha para a conta root. Isso ocorre porque o mecanismo padrão para a conta root mysql é “auth_socket”, que usa as informações do usuário do sistema em vez de uma senha.

Aqui está uma pequena informação do Documentação do MySQL sobre como auth_sockets funciona.

O auth_socket plugin verifica se o nome de usuário do soquete corresponde ao nome de usuário do MySQL especificado pelo programa cliente para o servidor. Se os nomes não corresponderem, o plug-in também verifica se o nome de usuário do soquete corresponde ao nome especificado no authentication_string coluna do mysql.user linha da tabela. Se for encontrada uma correspondência, o plug-in permite a conexão.

Para corrigir isso, você pode alterar o método de autenticação da conta root para usar uma senha em vez de auth_socket substituindo auth_socket por mysql_native_password ou caching_sha2_password .

Etapas para corrigir: Falha! Erro: SET PASSWORD não tem significado para o usuário ‘root’@’localhost

As etapas são bem simples; você só precisa executar alguns comandos e o problema será resolvido com certeza.

Inicie o MySQL

Eu acredito que você pode estar preso com a janela onde está pedindo uma senha. Nesse caso, feche esse terminal e abra um novo onde você possa executar os comandos novamente.

Depois de abrir um novo terminal, digite o seguinte comando para iniciar o MySQL com privilégios de sudo:

$ sudo mysql

Alterar Autenticação

Em seguida, você precisa usar o ALTER USER comando para alterar o parâmetro de autenticação de auth_socket para mysql_native_password ou caching_sha2_password executando o comando abaixo:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SET_PASSWORD';
#OR
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'SET_PASSWORD';

O comportamento do comando é mostrado abaixo:

Alterar parâmetros de autenticação no MySQL

Assim que receber a mensagem “Query OK”, feche o mysql .

mysql> exit

Depois de fazer as seguintes alterações, agora você pode usar o mysql_secure_installation script para o cliente de linha de comando mysql para melhorar a segurança de sua instalação MySQL.

$ sudo mysql_secure_installation

Agora, sempre que você quiser acessar o MySQL em seu sistema, você deve usar o mysql -u root -p comando, e se você esquecer a senha root do MySQL, então leia este guia.

Reverter Alterações

Depois de terminar o uso do script, você pode reverter a configuração para o padrão para que o MySQL não solicite a senha quando você tentar fazer login da conta root ou com privilégios sudo.

Primeiro faça o login no mysql

$ mysql -u root -p

Depois de obter o prompt do mysql, copie e cole o comando abaixo nele e, assim que receber a mensagem “OK”, significa que o mysql usará ‘auth_sockets’ para autenticação a partir de agora.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

Embrulhar

Isso é tudo para este breve guia de solução de problemas, onde você aprende como corrigir um erro com falha: SET PASSWORD não tem significado para o usuário ‘root’@’localhost’”.

Resumindo, você precisa executar um comando no shell do sistema como bash, zsh, fish, etc. e outro no console do MySQL:

  • $ sudo mysql
  • mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SET_PASSWORD';

Se você estiver enfrentando alguma dificuldade ao fazer alterações, sinta-se à vontade para comentar aqui.

.

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