web-dev-qa-db-fra.com

Échec de la connexion à mysql à l'adresse 127.0.0.1:3306, accès root refusé pour l'utilisateur 'root' @ 'localhost' (à l'aide du mot de passe: YES)

J'ai essayé de créer une nouvelle connexion de base de données sur Workbench. Cependant, chaque fois que je teste une connexion, un message d'erreur s'affiche:

Échec de la connexion à mysql à l'adresse 127.0.0.1:3306, accès root refusé pour l'utilisateur 'root' @ 'localhost' (à l'aide du mot de passe: YES) 

Je ne sais pas quelle est la cause de cette erreur. J'ai essayé de désinstaller et de réinstaller mon workbench 6.1 et mon serveur mysql 5.6 mais l'erreur n'est toujours pas résolue.

32
cpl

Commencez par vérifier s’il s’agit d’un problème de plan de travail ou de connexion.

1) Dans vos fenêtres, lancez 'cmd' pour ouvrir un terminal

Essayez les deux

2a) mysql -u root -p -h 127.0.0.1 -P 3306

2b) mysql -u root -p -h > localhost -P 3306

3) Si la connexion est bonne, vous recevrez une invite de mot de passe, voyez si vous pouvez vous connecter avec le mot de passe correct.

Si votre connexion est refusée, accordez simplement la permission.

mysql >GRANT ALL ON [DatabaseName].* TO 'root'@'127.0.0.1' IDENTIFIED BY '[PASSWORD]';

Si votre connexion est acceptée ici, cela ressemble à un problème de configuration du plan de travail.

29
ydoow

J'ai eu le même problème. 
J'ai installé un nouveau mysql sur Ubuntu mais j'ai laissé le mot de passe mysql vide et, par conséquent, je ne pouvais me connecter à mysql d'aucune façon.
Dernièrement, j'ai révélé qu'il existe un tableau d'utilisateurs où figurent les noms, les hôtes, les mots de passe et certains plugins. Donc, pour mon utilisateur root @ localhost mysql lors de l’installation d’un plugin appelé auth_socket , permet à l’utilisateur Unix de se connecter en tant qu’utilisateur mysql sans le mot de passe, mais ne permet pas de se connecter sous un autre utilisateur Unix. Donc, pour résoudre ce problème, vous devez désactiver ce plugin et définir l'authentification habituelle:

  1. terminal Linux ouvert
  2. entrez " Sudo mysql "
    vous verrez "mysql>", ce qui signifie que vous vous êtes connecté à mysql en tant qu'utilisateur Unix "root" et que vous pouvez taper des requêtes SQL.
  3. saisissez une requête SQL pour changer la manière dont vous vous connecterez:
    ALTER USER 'root' @ 'localhost' IDENTIFIÉ AVEC mysql_native_password BY 'your_new_password';
    where 'mysql_native_password' signifie - pour désactiver le plugin auth_socket.
7
Vladimir Voznyi

Essayez ceci, cela a fonctionné pour moi!

Sudo mysql -u root -p

À l'intérieur du terminal, entrez:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

Ensuite, dans MySQL Workbench, éditez la connexion et changez le nom de la racine en admin.

3
Diogo Quaresma

je ne sais pas comment cela s'est passé, mais j'ai eu le même problème. Je devais réinitialiser mon mot de passe root: http://www.jovicailic.org/2012/04/reset-forgotten-mysql-root-password-under-windows/

Mais après mes bases de données que j'avais précédemment ont été soit abandonnées ou la nouvelle connexion ne s'est pas connecté à eux. De toute façon, je ne pouvais pas y accéder via Workbench. Mais je pourrais utiliser MySQL à nouveau, ce qui a été une victoire pour moi

3
J Seaton

je viens de rencontrer ce problème maintenant et avec quelques essais, j'ai découvert que visiter les services >> sélectionner le service MySQLxx, puis cliquer avec le bouton droit de la souris et appuyer sur Start , cela a résolu mon problème et tout fonctionne sans qu'il soit nécessaire de perdre des données, .Juste pour ceux qui viendront ici sur ce sujet.

3
CriminalDuck

Vous devez installer le serveur mysql qui héberge votre hôte local. Ensuite, installez le plan de travail. Toujours si vous obtenez l'erreur GOTO:

(Sous MAC :)

Préférences système> Mysql (sera listé en bas, sinon le serveur n’est pas installé sur votre ordinateur).

Vérifiez l'état du serveur et démarrez le serveur Mysql.

Essayez de vous connecter à localhost avec le numéro de port par défaut.

Essaye ça,

J'espère que cela t'aidera

  1. Tout désinstallé, y compris le programme d'installation, à partir de sa propre option de désinstallation.
  2. Désinstallez tous les programmes liés de quelque manière que ce soit à mysql
  3. Supprimé le dossier mysql de C:\Program Files
  4. Supprimé le dossier mysql de C:\ProgramData 
  5. Effacé mon registre et ensuite ré-installé le programme, mais tout en vain.

Comment répéter: Voici ce que j'ai fait:

  1. Installé avec mysql-installer-web-community-5.6.23.0.msi
  2. Pour mes besoins, j’ai sélectionné l’installation "personnalisée" avec les serveurs MySQL 5.6.22 - Connecteurs X64 et MySQL -> Connecteur ODBC/5.3.4 - 64
  3. Suivant -> Exécuter - (prêt à configurer) -> Suivant
  4. Type de configuration: Ordinateur de développement, tous les paramètres par défaut (TCP/IP, Port: 3306, Pare-feu ouvert)
  5. Tapé dans le mot de passe racine MySQL
  6. Comptes utilisateur MySQL -> Ajouter un utilisateur (nom d'utilisateur, mot de passe, OK) -> Suivant
  7. Configurer le serveur MySQL en tant que service Windows (vérifié)
  8. Nom du service Windows: MySQL56 (valeur par défaut)
  9. Démarrer le serveur MySQL au démarrage du système
  10. CE IS CRUCIAL (BUG IS ICI): Exécuter le service en tant que ... Compte système standard (VÉRIFIÉ - mais il ne sera pas pris en compte et il s'agit d'un BUG)
  11. Suivant -> Exécuter, l'installation se bloque sur le serveur de démarrage, attendez donc un peu avant l'expiration du délai (ou non, votre choix). Lorsque la boîte de dialogue Dialog (éventuellement recouverte d’autres fenêtres) s’affiche avec le message "La configuration du serveur MySQL prend plus de temps que prévu ..., cliquez ici OK (pour attendre plus longtemps).

Solution suggérée: 12. Pendant ce temps, allez dans Démarrer -> Panneau de configuration -> Outils d’administration -> Services -> trouvez MySQL56, cliquez dessus avec le bouton droit de la souris -> Propriétés -> sélectionnez l’onglet Connexion ET HERE IS BOGUE -> Bien que le compte système local ait été sélectionné, En quelque sorte "Ce compte: Service réseau (avec un mot de passe) a été sélectionné -> Sélectionnez Ouvrir une session en tant que: Compte système local, Autoriser le service à interagir avec le bureau -> Appliquer -> Retour à l'onglet général

  1. Sur l'onglet général, cliquez sur le bouton "Démarrer" pour démarrer le service et le voici! Le service est commencé! Cliquez sur OK pour fermer la boîte de dialogue Propriétés MySQL56. Fermer la boîte de dialogue Services. Fermer les outils d'administration. Fermer le panneau de contrôle.

  2. Et à ce moment-là (pendant que vous fermiez ces boîtes de dialogue), lorsque vous consultez la boîte de dialogue du programme d'installation MySQl, toutes les étapes sont terminées et vérifiées: démarrage du serveur, application de la sécurité ... Création de comptes d'utilisateurs .. Mise à jour du lien du menu Démarrer

  3. Confirmez avec Terminer -> Suivant -> Terminer Ça y est, content MySQL-ing :)

Source: https://bugs.mysql.com/bug.php?id=76476

1
Venkat Kallem

Je sais que c'est vieux, mais j'ai aussi rencontré ce problème, mais j'ai trouvé un correctif qui a fonctionné pour moi:

  1. allez dans "Services"
  2. sous "Nom" trouvez votre nom d'utilisateur
  3. clic droit et sélectionnez "Démarrer"

Accédez à votre atelier MySQL et sélectionnez "Démarrage/Arrêt" sous "INSTANCE" et vous devriez être prêt à partir. J'espère que cela aide tous ceux qui rencontrent cela.

0
Adan De Leon

Accédez à la barre de recherche de Windows et recherchez Services. Lancez Services et recherchez MySQLxx (xx dépend de votre version de MySQL) dans la longue liste de services. Cliquez avec le bouton droit de la souris sur MySQLxx et appuyez sur Démarrer. MySQL devrait fonctionner correctement maintenant.

0
jseahhh