Comment supprimer le mot de passe root MySQL [fermé]

195

Je souhaite supprimer le mot de passe de l'utilisateur root dans localhost. Comment puis je faire ça? Par erreur, j'ai défini le mot de passe de l'utilisateur root. C'est pourquoi phpmyadmin donne une erreur:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

nectar
la source
4
Pourquoi ne pas configurer votre phpMyAdmin pour utiliser le mot de passe root à la place?
sisve
2
La documentation MySQL contient des instructions sur la façon de réinitialiser le mot de passe root au cas où vous l'auriez oublié.
Michael Madsen
Notez qu'à partir de MySQL 5.7, un mot de passe root aléatoire est défini par défaut, et vous ne pouvez pas le supprimer sans désactiver le validate_passwordplugin au préalable. Voir mon article Suppression directe du mot de passe racine MySQL ou de cet essentiel .
Benjamin

Réponses:

360

Vous devez définir le mot de passe pour root@localhostqu'il soit vide. Il y a deux façons:

  1. La SET PASSWORDcommande MySQL :

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. À l'aide de l' mysqladminoutil de ligne de commande:

    mysqladmin -u root -pType_in_your_current_password_here password ''
Dario
la source
1
comment réinitialiser le mot de passe d'une base de données perticulaire?
nectar
4
mysqladmin -u root -pcurrent_password password '' est une autre façon de le faire.
crackity_jones
7
Je devais le faire mysqladmin -u root -p password ''puis saisir le mot de passe.
crizCraig
2
@crizCraig probablement parce que votre mot de passe ne l'était pas CURRENTPASSWORD, l'argument de mot de passe (contrairement aux autres arguments) n'a pas d'espace après. Si vous omettez un mot de passe, il vous en demandera un ( doc )
Jason Sperske
3
@mOna essayez de cette façon: 1- désactiver mysql (arrêter le service ou le tuer); 2- créer un fichier contenant SET PASSWORD FOR root@localhost=PASSWORD('');appelé restore; 3- appel mysqld_safe --init-file=path/to/restore; Enfin, connectez-vous et modifiez à nouveau le mot de passe avec ce que vous préférez.
Dario
23

J'ai aussi vécu ce problème,

J'ai d'abord essayé de mettre mon mot de passe root à blanc en utilisant la commande:

SET PASSWORD FOR root@localhost=PASSWORD('');

Mais ne soyez pas heureux, PHPMYADMIN utilise 127.0.0.1 pas localhost, je sais que vous diriez que les deux sont identiques mais ce n'est pas le cas, utilisez la commande mentionnée ci-dessous et vous avez terminé.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

Remplacez simplement localhost par 127.0.0.1 et vous avez terminé.

Faiz Akhtar
la source
3
SET PASSWORD FOR root @ localhost = PASSWORD (''); a travaillé pour moi
workdreamer