web-dev-qa-db-fra.com

MySQL - ERREUR 1045 - Accès refusé

D'une certaine manière, j'ai réussi à obtenir cette erreur lorsque j'essaie d'accéder à MySQL via la ligne de commande:

[root@localhost ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

J'ai essayé de réinitialiser le mot de passe sans aucune chance en utilisant ce HowTo.

J'ai désinstallé mysql completley et réinstallé, mais on me demande quand même un mot de passe. Je ne sais pas pourquoi c'est le cas!

Quelqu'un peut-il m'aider s'il vous plaît à obtenir une installation par défaut de MySQL.

Environnement

Fedora Core 10, accès racine complet, Apache et PHP installés

Merci pour toute aide !!

MODIFIER

Pour tous ceux qui souhaitent économiser quelques heures de "toux de sang" - lorsque vous désinstallez MySQL, supprimez complètement tout ce qui reste. Si vous ne le faites pas, ce ne sera jamais une installation FRESH.

41
Abs

Si vous avez défini un mot de passe root et que vous venez de le perdre/de l’oublier:

  1. Arrêtez MySQL
  2. Redémarrez-le manuellement avec l'option skip-grant-tables: mysqld_safe --skip-grant-tables

  3. Maintenant, ouvrez une nouvelle fenêtre de terminal et lancez le client MySQL: mysql -u root

  4. Réinitialisez le mot de passe root manuellement avec cette commande MySQL: UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; Si vous utilisez MySQL 5.7 (vérifiez avec mysql --version dans le terminal), la commande est la suivante: 

    UPDATE mysql.user SET authentication_string=PASSWORD('password')  WHERE  User='root';
    
  5. Purgez les privilèges avec cette commande MySQL: FLUSH PRIVILEGES;

De http://www.tech-faq.com/reset-mysql-password.shtml

(Peut-être que ce n'est pas ce dont vous avez besoin, Abs, mais je pense que cela pourrait être utile pour les personnes qui tombent sur cette question à l'avenir.)

80
David Z

Essayez de vous connecter sans mot de passe:

mysql -u root

Je crois que la valeur initiale par défaut est l'absence de mot de passe pour le compte root (qui doit évidemment être modifié dès que possible).

13
Chad Birch

utilisez cette commande pour vérifier la sortie possible

mysql> select user,Host,password from mysql.user;

sortie 

mysql> select user,Host,password from mysql.user;
+-------+-----------------------+-------------------------------------------+
| user  | Host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     |                                           |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
  1. Dans cet utilisateur, l'administrateur ne sera pas autorisé à se connecter à partir d'un autre hôte, même si vous en avez donné l'autorisation. la raison en est que l'utilisateur admin n'est identifié par aucun mot de passe.
  2. Accorder à l'utilisateur admin avec mot de passe en utilisant à nouveau la commande GRANT

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED by 'password'
    

puis vérifiez la liste des subventions la sortie sera comme son 

mysql> select user,Host,password from mysql.user;

+-------+-----------------------+-------------------------------------------+
| user  | Host                  | password                                  |
+-------+-----------------------+-------------------------------------------+
| root  | localhost             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| root  | 127.0.0.1             | *8232A1298A49F710DBEE0B330C42EEC825D4190A |
| admin | localhost             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| admin | %                     | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

si l'utilisateur souhaité, par exemple l'utilisateur 'admin', doit être autorisé à se connecter, utilisez une fois la commande GRANT et exécutez la commande.

Maintenant, l'utilisateur devrait être autorisé à se connecter.

4
vigremrajesh

Le mot de passe root actuel doit être vide . Ensuite, sous "nouveau mot de passe root", entrez votre mot de passe et confirmez.

1
princetailor

Je n'ai pas pu me connecter à l'administrateur MySql. Je l'ai corrigé en créant un autre utilisateur et en attribuant toutes les autorisations.

Je me suis connecté avec ce nouvel utilisateur et cela a fonctionné.

0
Mysql user
  1. Aller à la console mysql
  2. Entrez use mysql; 
  3. UPDATE mysql.user SET Mot de passe = PASSWORD ('') WHERE Utilisateur = 'root' FLUSH PRIVILEGES; Exit PASSWORD ('') is must vider
  4. Ensuite, allez à wamp/apps/phpmyadmin ../ config.inc.php
  5. Find $ cfg ['Servers'] ['$ I'] ['password'] = 'root';
  6. Remplacez le ['mot de passe'] par ['votre ancien mot de passe']
  7. Sauvegarder le fichier 
  8. Redémarrez tous les services et allez à localhost/phpmyadmin
0
user4713247