Corrigindo o erro “SET PASSWORD não tem significado para o usuário root@localhost” no Linux

📒 

Primeiro você precisa entender o motivo desse erro. O SET PASSWORD has no significance for user root@localhost erro pode ocorrer devido a vários motivos. Esses motivos são completamente diferentes e podem estar
relacionados a configurações de segurança, privilégios de usuário ou outros fatores.

Este “SET PASSWORD não tem significado para o usuário root@localhost” O erro provavelmente indica que o servidor MySQL não permite que você altere a senha do usuário root@localhost quando você usa o comando SET PASSWORD. Antes de começar a resolver o problema, você precisa e é importante certificar-se de que o usuário root@localhost tenha privilégios suficientes para alterar a senha. Você deve então fazer login no seu MySQL usando suas credenciais de superusuário:

mysql -u root -p 
Então, após o login, seguirá uma etapa muito importante – verificar o privilégio do usuário root@localhost. Isso pode ser feito usando o seguinte comando:
SHOW GRANTS FOR 'root'@'localhost';
Também pode acontecer que o usuário não tenha privilégios suficientes para executar a operação. Você tem a opção de fazer isso, basta digitar o seguinte:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'set_new_passwd' WITH GRANT OPTION; FLUSH PRIVILEGES;'
  • set_new_password – será o valor real da sua nova senha. Crie uma senha complexa e substitua este valor aqui.

Em seguida, você deve verificar seus arquivos de configuração do MySQL. Eles geralmente são chamados de my.cnf ou my.ini. Vale a pena verificar as configurações de segurança que podem restringir alterações de senha para o usuário root@localhost. Verifique suas configurações relacionadas à segurança e autenticação.

No caso da alternativa SET PASSWORD , você pode tentar usar outro método para alterar a senha. Faça login no MySQL e use a seguinte consulta:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'set_new_passwd';