En utilisant ce guide, vous découvrirez trois méthodes pour résoudre cette erreur."
Que signifie cette erreur?
La meilleure façon de comprendre cette erreur est de le décomposer en composants uniques. Cette erreur se produit lorsque vous essayez de vous connecter dans votre instance MySQL sur votre machine locale, d'où «localhost.'
Un exemple est comme indiqué:
$ mysql -u root -pLes composants de l'erreur sont les suivants:
Remarque: le premier% S du message d'erreur fait référence au nom d'utilisateur, tandis que le second fait référence à l'hôte.
Solution 1: Sudo dans MySQL
La première méthode la plus courante pour résoudre cette erreur est à Sudo dans votre instance MySQL et à définir l'auth_plugin sur mysql_native_password.
Ouvrez votre terminal et courez:
$ sudo mysqlEntrez le mot de passe du compte et continuez.
Ensuite, modifiez l'Auth_Plugin et définissez un nouveau mot de passe pour le compte racine comme indiqué:
Alter User 'root @ localhost' identifié avec mysql-native_password par «mot de passe»;La modification du plugin d'authentification vous permettra de vous connecter à votre serveur.
Ensuite, rincez les privilèges pour mettre à jour les tables de subventions:
Privilèges de rinçage;Enfin, quittez le terminal et essayez votre connexion:
$ mysql -u root -pSolution 2- Modifier manuellement le fichier de configuration
Si l'erreur persiste, vous devrez peut-être modifier le fichier de configuration MySQL. Dans la plupart des cas, c'est sous le nom de mon.CNF dans les répertoires / etc ou / etc / mysql.
Localisez ce fichier dans le dossier d'installation MySQL pour les utilisateurs de Windows et Mac.
Si le fichier n'existe pas, créez-le.
Ouvrez le fichier avec votre éditeur de texte et localisez le bloc MySQLD.
$ nano / etc / mysql / mon.CNFSous le bloc [mysqld], ajoutez l'entrée suivante.
tables de sautFermer et enregistrer le fichier.
Ensuite, redémarrez le serveur MySQL et connectez-vous.
$ sudo Service mysql redémarrageUne fois connecté, rincez les privilèges et définissez un nouveau mot de passe:
Privilèges de rinçage;Assurez-vous de remplacer la commande ci-dessus par un mot de passe sécurisé.
Une fois terminé, modifiez mon.Fichier CNF et supprimer l'entrée que nous avons ajoutée plus tôt.
Redémarrez le serveur MySQL et connectez-vous avec votre nouveau mot de passe.
Solution 3 - Démarrez MySQL en mode sans échec
MySQL vous fournit l'utilitaire MySQLD_SAFE pour démarrer le serveur MySQL. Cet utilitaire nous permet de spécifier des fonctionnalités sûres lors du démarrage et du redémarrage du serveur pour diagnostiquer les erreurs.
Commencez par arrêter le serveur MySQL.
$ sudo service mysql stopEnsuite, démarrez MySQL sans authentification comme;
$ mysqld_safe - Skip-Grant-Tables &La commande démarrera le serveur en arrière-plan comme travail.
Une fois le démon est en cours d'exécution (avec l'authentification désactivée), ouvrez un nouveau terminal et exécutez:
$ mysql -u root -pLa commande ci-dessus devrait vous permettre de vous connecter sans mot de passe.
Une fois connecté, rincez les privilèges et définissez un nouveau mot de passe:
Privilèges de rinçage;Fermez la session et redémarrez MySQL.
Maintenant, connectez-vous à votre serveur avec votre nouveau mot de passe.
Fermeture
Dans cet article, nous avons couvert trois méthodes principales pour résoudre le
"MySQL Access refusé pour l'utilisateur" root @ localhost "" Erreur.Nous espérons que ce tutoriel vous a aidé à résoudre cette erreur.