Gå in som tidigare i steg 2, det vill säga starta om mysql-demonen i felsäkert läge.
Ge kommandot
select user,host,password from mysql.user where user='root';
klipp ut och klistra in utdata i en textredigerare för jämförelse (av de hashade lösenordskolumnvärdena) före och efter följande.
Lägg märke till host
för varje rad kolumn. I följande exempel antar jag att jag har två rader. En rad har %
som värd har nästa localhost
För varje rad som hade en host
variation kommer du att utfärda ett kommando. Så i mitt exempel ovan skulle jag utfärda 2 kommandon totalt, till exempel:
SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
kör
select user,host,password from mysql.user where user='root';
klipp ut och klistra in det i textredigeraren. Lägg märke till ändringen av lösenordshasharna.
Stäng av demonen från felsäkert läge och starta om normalt.
Försök att logga in som root med MyNewPassword
Här är några länkar. Den för STÄLL IN LÖSENORD-syntax , och ett ofta nästa steg för GRANT-syntax .
För den här frågans snäva omfattning, det vill säga att logga in, skulle bidragen inte vara nödvändiga. Men utan ordentliga anslag till databaser skulle man vara i sandlåda, inte kunna göra mycket annat än enkla kommandon som select now();
Jag menar inte att din root-användare inte har privilegier när lösenordet har ändrats. Bidragen är nödvändiga för att normala användare ska vara säkra.