it-swarm.com.de

Ändern Sie das Kennwort des MySQL-Benutzers über die Befehlszeile

Ich versuche, das Kennwort für einen Datenbankbenutzer über die Befehlszeile zu aktualisieren, und es funktioniert nicht für mich. Dies ist der Code, den ich verwende:

mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';

Könnte mir jemand sagen, was mit diesem Code nicht stimmt?.

63
user3310572

Versuchen Sie in Ihrem Code, das Kennwort in ein einfaches Anführungszeichen zu setzen. Alternativ, wie in der Dokumentation von mysql beschrieben, sollte Folgendes funktionieren 

SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');

FLUSH PRIVILEGES;

Die letzte Zeile ist wichtig, sonst wird Ihre Passwortänderung leider nicht wirksam.

EDIT:

Ich habe einen Test in meinem Lokal durchgeführt und es hat funktioniert - 

mysql>  set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)

Meine ist Version 5. Sie können den folgenden Befehl verwenden, um Ihre Version zu bestimmen - 

SHOW VARIABLES LIKE "%version%";
92
hellboy

Verwenden Sie ab MySQL 5.7.6 ALTER USER

Beispiel:

ALTER USER 'username' IDENTIFIED BY 'password';

Weil:

  • Die SET PASSWORD ... = PASSWORD('auth_string')-Syntax ist seit MySQL 5.7.6 veraltet und wird in einer zukünftigen MySQL-Version entfernt.

  • Die SET PASSWORD ... = 'auth_string'-Syntax ist nicht veraltet, aber ALTER USER ist jetzt die bevorzugte Anweisung zum Zuweisen von Kennwörtern.

28
Govind Rai

Hinweis: Sie sollten sich als Root-Benutzer anmelden 

 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');
13
vijay kumar

dies ist die aktualisierte Antwort für WAMP v3.0.6

UPDATE mysql.user 
SET authentication_string=PASSWORD('MyNewPass') 
WHERE user='root';

FLUSH PRIVILEGES;

Vor MySQL 5.7.6 funktioniert dies von der Kommandozeile aus:

mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$w0rdf1sh');"

Ich habe keine MySQL-Installation zum Testen, aber ich denke, in Ihrem Fall wäre es das

mysql -e "UPDATE mysql.user SET Password=PASSWORD('$w0rdf1sh') WHERE User='tate256';"
3

In Windows 10 beenden Sie einfach das aktuelle Login und führen Sie dies in der Befehlszeile aus

-> mysqladmin -u root password “newpassword”

wo anstelle von root könnte jeder Benutzer sein.

0
Napolean