Quando você faz
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
você está atualizando a senha de um usuário com o nome root
e a localização localhost
. A partir do resultado da sua tabela de usuários, concluo que NÃO existe essa linha. Parece haver uma linha com root
e 127.0.0.1
, portanto, você provavelmente precisará dessa linha.
SET PASSWORD FOR root@'127.0.0.1' = PASSWORD('password');
Por favor, tente entender qual é a diferença entre as duas linhas e por que isso deve ser feito em vez da primeira: espero que isso ajude a ver o que estava errado e por que você deveria fazer isso, pois pode não ser on: as adições de comentários seriam muito mais fáceis de ler se estivessem na questão e formatadas corretamente: D