web-dev-qa-db-fra.com

Changer le mot de passe utilisateur mysql en utilisant la ligne de commande

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?.

63
user3310572

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%";
92
hellboy

Depuis MySQL 5.7.6, utilisez 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.

28
Govind Rai

Note: vous devriez vous connecter en tant qu'utilisateur root 

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

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';"
3
David Silva Smith

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.

0
Napolean