Ich versuche, das Kennwort für einen Datenbankbenutzer über die Befehlszeile zu aktualisieren, aber es funktioniert bei mir nicht. 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 falsch ist.
mysql
command-line
putty
user3310572
quelle
quelle
Antworten:
Versuchen Sie, in Ihrem Code ein Passwort in ein einfaches Anführungszeichen zu setzen. Alternativ sollte gemäß der Dokumentation von MySQL Folgendes funktionieren:
Die letzte Zeile ist wichtig, sonst wird Ihre Passwortänderung leider nicht wirksam.
BEARBEITEN:
Ich habe einen Test in meiner Region durchgeführt und es hat funktioniert -
Meins ist Version 5. Sie können den folgenden Befehl verwenden, um Ihre Version zu bestimmen -
quelle
5.7.18-0ubuntu0.16.04.1
Verwenden Sie ab MySQL 5.7.6
ALTER USER
Beispiel:
Weil:
SET PASSWORD ... = PASSWORD('auth_string')
Die Syntax ist ab MySQL 5.7.6 veraltet und wird in einer zukünftigen MySQL-Version entfernt.SET PASSWORD ... = 'auth_string'
Die Syntax ist nicht veraltet, aberALTER USER
jetzt die bevorzugte Anweisung zum Zuweisen von Kennwörtern.quelle
ALTER USER ... IDENTIFIED BY ...
genau Wie unterscheidet sich das vonUPDATE ... SET ...
oderINSERT INTO ...
?ALTER USER ... IDENTIFIED BY ...
ist eine SQL-Anweisung, die Benutzerberechtigungen für Ihre Datenbank konfiguriert.UPDATE
undINSERT
haben verschiedene Funktionen, die, wie die Namen andeuten, Datensätze aktualisieren und Datensätze in Tabellen in Ihrer Datenbank einfügen.ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USER 'root' IDENTIFIED BY
Hinweis: Sie sollten sich als Root anmelden
quelle
Dies ist die aktualisierte Antwort für WAMP v3.0.6
quelle
Vor MySQL 5.7.6 funktioniert dies über die Befehlszeile:
Ich habe keine MySQL-Installation zum Testen, aber ich denke in Ihrem Fall wäre es
quelle
Beenden Sie in Windows 10 einfach die aktuelle Anmeldung und führen Sie diese in der Befehlszeile aus
->
mysqladmin -u root password “newpassword”
wo anstelle von root könnte jeder Benutzer sein.
quelle
Das funktioniert bei mir. Ich habe eine Lösung von der MYSQL-Webseite erhalten
Führen Sie in MySQL die folgenden Abfragen aus:
quelle
Ab MySQL 8.0.18 funktioniert das gut für mich
quelle
Ihr Login-Stamm sollte sein
/usr/local/directadmin/conf/mysql.conf
. Versuchen Sie dann zu folgenHost ist Ihr MySQL-Host.
quelle