Erreur MySQL: #1045 - Access denied for user 'root'@'localhost' (using password: YES)
J'ai essayé tous les fix que j'ai trouvé, et je ne peux pas changer mon mot de passe root MySQL. La coquille, si je tape dans mysql -u root
, je reçois
Access denied for user 'root'@'localhost' (using password: NO)
Quand je vais à PHP MyAdmin, j'obtiens ceci:
#1045 - Access denied for user 'root'@'localhost' (using password: YES)
Tout a commencé quand j'ai été forcé d'entrer un nouveau mot de passe pour MySQL. Je n'ai AUCUNE idée de comment résoudre ce problème et je suis désespérée.
Merci.
avez-vous essayé de mysql -u root -p dans le shell
Double Possible de MySQL ERROR 1045 (28000): Access denied for user 'bill'@'localhost' (using password: YES)
eh bien, votre mot de passe est erroné. simple que cela. comment résoudre ce problème: utiliser la nouvelle droite.
Oui, j'ai essayé à de nombreuses reprises - il n'a pas de travail.
Double Possible de MySQL ERROR 1045 (28000): Access denied for user 'bill'@'localhost' (using password: YES)
eh bien, votre mot de passe est erroné. simple que cela. comment résoudre ce problème: utiliser la nouvelle droite.
Oui, j'ai essayé à de nombreuses reprises - il n'a pas de travail.
OriginalL'auteur SandyS | 2017-01-24
Vous devez vous connecter pour publier un commentaire.
GÉNÉRIQUE MYSQL INFO
Pour commencer, lisez le manuel mysql: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Les étapes va vous montrer comment arrêter le service et de le démarrer avec un mot d'ordre qui n'a pas besoin de mots de passe, puis de réinitialiser le mot de passe. À partir de la notice:
Arrêter le serveur MySQL, puis de le redémarrer avec le
--skip-grant-tables
option. Cela permet à quiconque de se connecter sans mot de passe et avec tous les privilèges, et désactive la fonction de gestion des comptes consolidés tels queALTER USER
etSET PASSWORD
. Parce que c'est de l'insécurité, vous pouvez utiliser--skip-grant-tables
en conjonction avec--skip-networking
pour prévenir les clients distants de se connecter.Se connecter au serveur MySQL en utilisant le client mysql; aucun mot de passe n'est nécessaire parce que le serveur a été démarré avec
--skip-grant-tables
:shell> mysql
Dans le client mysql, dites-le serveur de recharger les tables de droits ainsi que de gestion des comptes consolidés de travail:
mysql> FLUSH PRIVILEGES;
Puis changer le
'root'@'localhost'
mot de passe du compte. Remplacer le mot de passe avec le mot de passe que vous souhaitez utiliser. Pour modifier le mot de passe pour le compte root avec un autre nom d'hôte de la partie, de modifier les instructions pour utiliser ce nom d'hôte.MySQL 5.7.6 et plus tard:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
MySQL 5.7.5 et antérieures:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Ou directement sur la table utilisateur:
UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
XAMPP SPÉCIFIQUES
Arrêter le service MySQL. Ouvrez une fenêtre de commande. Changement à la XAMPP MySQL répertoire:
> cd \xampp\mysql\bin\
Exécuter le service sans sécurité (note vous exécutez mysqld, pas mysql):
> mysqld.exe --skip-grant-tables
Le service MySQL va être en cours d'exécution dans cette fenêtre, afin d'en ouvrir une autre fenêtre de commande et de passer à l'XAMPP MySQL répertoire:
> cd \xampp\mysql\bin\
Exécuter le client MySQL:
> mysql
Mise à jour le mot de passe:
mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
Sortie MySQL:
mysql> \q
Utiliser le gestionnaire des tâches pour annuler la mysqld.exe qui est toujours en cours d'exécution. Redémarrer le service mysql.
J'ai essayé de changer le mot de passe root mysql comme vous l'avez suggéré, mais ne fonctionnent pas. Lorsque je lance la commande pour changer le mot de passe, j'ai eu cette erreur:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
Si vous obtenez l'erreur 1290, c'est généralement parce que vous n'avez pas à faire la commande FLUSH PRIVILEGES. Cette réactive à la gestion de compte. Si vous avez des problèmes avec les versions de MySQL (comme MariaDB donnant Erreur 1131), vous pouvez mettre à jour la table utilisateur directement au lieu d'utiliser la gestion des comptes consolidés:
UPDATE mysql.user set password=PASSWORD('mynewpassword') WHERE user='root';
Je suis à l'aide de "générique" MySQL 5.7. Cela n'a pas fonctionné, mais la solution semble prometteur. Je vais poursuivre cet autre dans un nouveau post.
OriginalL'auteur Steve Johnson
mon problème a été résolu en dessous.
Quand j'étais entré commande ci-dessous puis j'ai un message d'erreur.
sudo mysql -u root -p
Pour résoudre cela, suivez les étapes ci-dessous.
entrez la commande
sudo mysqld_safe --skip-grant-tables &
[4] 21878
Alors l'erreur ci-dessous s'est produite.
Pour résoudre cette erreur, puis suivez ci-dessous les lignes.
i)
systemctl stop mysql
ii)
sudo mkdir -p /var/run/mysqld
iii)
sudo chown mysql:mysql /var/run/mysqld
iv)
sudo mysqld_safe --skip-grant-tables &
v) Puis connectez
mysql -u root
.puis MySQL invite apparaît. puis, après avoir défini votre mot de passe.
vi)
FLUSH PRIVILEGES;
vi)
systemctl stop mysql
vi) Après que les du loing ci-dessous.
OriginalL'auteur netajik
Comme il ya tellement de nombreuses saveurs et les versions de MySQL, il est utile de demander de l'aide si vous identifier la saveur et la version que vous travaillez avec. Si cela ne fonctionne pas, un message d'erreur est utile pour obtenir de l'aide supplémentaire. J'ai ajouté une réponse spécifique à XAMPP.
OriginalL'auteur Ram Pukar