J'essaie de mettre à jour le mot de passe d'un utilisateur de base de données à l'aide de la ligne de commande, mais cela ne fonctionne pas pour moi. C'est le code que j'utilise:
mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';
Quelqu'un pourrait-il me dire ce qui ne va pas avec ce code?.
Dans votre code, essayez d'inclure le mot de passe dans les guillemets simples. Alternativement, selon la documentation de mysql, ce qui suit devrait fonctionner -
SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');
FLUSH PRIVILEGES;
La dernière ligne est importante sinon votre changement de mot de passe ne prendra malheureusement pas effet.
MODIFIER:
J'ai fait un test chez moi et ça a marché -
mysql> set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)
Le mien est la version 5. Vous pouvez utiliser la commande suivante pour déterminer votre version -
SHOW VARIABLES LIKE "%version%";
ALTER USER
Exemple:
ALTER USER 'username' IDENTIFIED BY 'password';
Parce que:
La syntaxe SET PASSWORD ... = PASSWORD('auth_string')
est obsolète à partir de MySQL 5.7.6 et sera supprimée dans une prochaine version de MySQL.
La syntaxe SET PASSWORD ... = 'auth_string'
n'est pas obsolète, mais ALTER USER
est maintenant l'instruction préférée pour l'attribution de mots de passe.
Note: vous devriez vous connecter en tant qu'utilisateur root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');
ceci est la réponse mise à jour pour WAMP v3.0.6
UPDATE mysql.user
SET authentication_string=PASSWORD('MyNewPass')
WHERE user='root';
FLUSH PRIVILEGES;
Avant MySQL 5.7.6, cela fonctionnait depuis la ligne de commande:
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$w0rdf1sh');"
Je n'ai pas d'installation mysql à tester mais je pense que dans votre cas, ce serait
mysql -e "UPDATE mysql.user SET Password=PASSWORD('$w0rdf1sh') WHERE User='tate256';"
Dans Windows 10, il suffit de quitter la connexion en cours et de l'exécuter en ligne de commande.
-> mysqladmin -u root password “newpassword”
où au lieu de root pourrait être n'importe quel utilisateur.