2017-08-05 1 views
0

Meine MySQL-Version ist 5.7.19, bei der Überprüfung Benutzer Daten daraufALTER USER arbeiten nicht root-Passwort ändern

SELECT User, Host, HEX(authentication_string) FROM mysql.user; 

Ich fand heraus, dass „root“ dont‘Passwort haben, aber ich weiß, es hat Passwort .

Jetzt habe ich versucht, das Kennwort auf sie zuweisen mit

ALTER USER 'root'@'localhost' IDENTIFIED BY 'this is my password xxxxxxx'; 

Es stellt sich heraus, diesen Befehl nicht funktioniert. Aber dieser Befehl arbeitet

UPDATE mysql.user SET authentication_string = PASSWORD('this is my password xxxxxxx') WHERE User = 'root' AND Host = 'localhost'; 

Jetzt habe ich versucht, wieder das Passwort zu ändern

mit
ALTER USER 'root'@'localhost' IDENTIFIED BY 'this is my password xxxxxxx'; 

Aber anstatt mein Passwort zu ändern, ist es mein Passwort verursacht (HEX) wieder zu leeren.

Gibt es etwas falsch mit meinem MySQL?

Ich habe versucht, einen neuen Benutzer zu erstellen, vergeben Passwort mit ALTER USER, und es funktioniert!

Warum funktioniert diese ALTER USER nicht auf "root"?

Mit verschiedenen VPS, ALTER USER funktioniert gut, um "root" Passwort zu ändern.

Antwort

0

Meine eigene Frage zu beantworten, es scheint, dass es einen Fehler gibt. Dieses Problem ist aufgetreten, weil ich beim Eingeben meines Kennworts bei der Installation von MySQL eine Kopie eingefügt habe. Nachdem ich deinstalliert und neu installiert habe, jetzt mit manuell eingegebenem Passwort, ist dieses Problem verschwunden.

Weitere Informationen zu diesem Problem, auch wenn das Passwort „erfolgreich“ gesetzt

UPDATE mysql.user SET authentication_string = PASSWORD('this is my password xxxxxxx') WHERE User = 'root' AND Host = 'localhost';

mit und ich kann sehen, dass ein Passwort dort

SELECT User, Host, HEX(authentication_string) FROM mysql.user;

mit es mir noch in der Lage, ohne Passwort mit mysql -u root

+0

einzuloggen Nicht genau, was Sie sind tr ying zu tun, aber Sie sollten die Spalte "plugin" in Ihrer 'user'-Tabelle überprüfen; Standardmäßig ist es für "root" nicht "mysql_native_password" (das würde das Passwort verwenden). – Solarflare

Verwandte Themen