Entre como antes na Etapa 2, ou seja, reinicie o daemon mysql no modo de segurança.
Emita o comando
select user,host,password from mysql.user where user='root';
corte e cole a saída em um editor de texto para comparação (dos valores da coluna de senha com hash) antes e depois do seguinte.
Para cada linha, observe o
host
coluna. No exemplo a seguir, estou assumindo que tenho duas linhas. Uma linha tem %
como host, o próximo tem localhost
Para cada linha que tinha um
host
variação, você emitirá um comando. Então, no meu exemplo acima, eu estaria emitindo 2 comandos no total, como:SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
corre
select user,host,password from mysql.user where user='root';
recorte e cole no editor de texto. Observe a mudança nos hashes de senha.
Desligue o daemon do modo de segurança e reinicie normalmente.
Tente fazer login como root com MyNewPassword
Aqui estão alguns links. Aquele para SET PASSWORD Syntax , e um próximo passo para a GRANT Syntax .
Para o escopo restrito desta questão, que é o login, as concessões não seriam necessárias. Mas sem concessões apropriadas para bancos de dados, alguém ficaria em sandbox, incapaz de fazer muito, além de comandos simples como
select now();
Não estou sugerindo que seu usuário root não tenha privilégios depois que a senha for alterada. As concessões são necessárias para que usuários normais tenham certeza.