Maison  >  Questions et réponses  >  le corps du texte

Réinitialiser le mot de passe utilisateur dans MySQL 8.0 : guide étape par étape

Mes questions et détails

Je souhaite changer le mot de passe d'un utilisateur dans MySQL8.0, mais presque aucune des méthodes en ligne ne semble fonctionner.

Voici les détails de ma table mysql.user :

mysql> select user, host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Excalibur        | %         |
| yyy              | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

Qu'est-ce que j'ai fait

J'ai essayé les commandes suivantes :

alter user 'yyy'@'%' identified with mysql_native_password by '12345';

et j'ai reçu le message d'erreur : 

ERROR 1396 (HY000): Operation ALTER USER failed for 'yyy'@'%'

J'ai aussi essayé de manipuler moi-même la table mysql.user :

update user set authentication_string=sha1('12345') where user = 'yyy' ;
flush privileges;

Bien que cela fonctionne, Je ne parviens pas à me connecter à yyy via (ce que je devrais être) le mot de passe 12345. Ensuite, j'ai jeté un œil au tableau et ça avait l'air vraiment bizarre :

+------------------+-----------+------------------------------------------------------------------------+
| user             | host      | authentication_string                                                  |
+------------------+-----------+------------------------------------------------------------------------+
| Excalibur        | %         | $Arrreee5$tE.D2|7^FTRYjmg1APzveuTWyJ1BaO2al1GKvO3UJO6ZlX06jqbNkT5 |
| yyy              | %         | 8cb2237d0679ca88db6464eac60da96345513964                               |
| mysql.infoschema | localhost | $Arrreee5$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | localhost | $Arrreee5$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
...

P粉724737511P粉724737511292 Il y a quelques jours479

répondre à tous(1)je répondrai

  • P粉022285768

    P粉0222857682024-01-02 09:59:10

    Pour MySQL 8.0

    Les utilisateurs ordinaires utilisent la commande suivante pour changer leur mot de passe

    ALTER USER 'userName'@'localhost' IDENTIFIED BY 'New-Password-Here';

    Pour l'utilisateur root, utilisez la commande suivante pour changer le mot de passe

    P.S Vérifiez en utilisant le mot de passe avec "$A$005$", le plugin d'authentification caching_sha2_password doit être utilisé, sans "WITH caching_sha2_password", cela ne fonctionnera pas pour l'utilisateur root. S'il s'agit d'un utilisateur général Des autorisations doivent être accordées.

    ALTER USER 'userName'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'New-Password-Here';

    répondre
    0
  • Annulerrépondre