Maison >base de données >tutoriel mysql >Comment résoudre l'erreur MySQL « Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) » ?

Comment résoudre l'erreur MySQL « Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-25 05:30:17676parcourir

How to Resolve the MySQL Error

Dévoilement du mystère : résolution de « Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)'

L'erreur message "Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI) - Aucun privilège ?" peut être rencontré lors d'une tentative de connexion à une base de données MySQL avec l'utilisateur root. Ce problème frustrant survient lorsque les privilèges de schéma de l'utilisateur root sont nuls, révoquant ainsi tous les privilèges d'accès.

Retracer la racine du problème

En fouillant dans MySQL Workbench, il On découvre que les privilèges de schéma de l'utilisateur root sont effectivement manquants. Cela explique pourquoi les commandes standard telles que FLUSH HOSTS et FLUSH PRIVILEGES ne donnent aucun résultat.

Récupération de l'accès root : un guide étape par étape

  1. Vérifiez les paramètres d'utilisateur et d'authentification :

Exécutez la requête "SELECT user, chaîne_d'authentification, plugin, hôte FROM mysql.user ;" pour déterminer la méthode d'authentification. S'il affiche « auth_socket » pour l'utilisateur root, cela indique que l'authentification socket est utilisée, ce qui nécessite un accès root au serveur.

  1. Modifier l'authentification utilisateur :

Pour autoriser la connexion avec un mot de passe, mettez à jour la valeur d'authentification_string pour l'utilisateur root sur 'localhost' pour 'mysql_native_password', qui nécessite un mot de passe pour s'authentifier.

  1. Définissez le mot de passe root :

Utilisez la commande "ALTER USER 'root'@ 'localhost' IDENTIFIÉ AVEC mysql_native_password PAR 'Current-Root-Password';" pour définir le mot de passe root.

  1. Accorder des privilèges :

Si nécessaire, accordez à l'utilisateur root les privilèges appropriés à l'aide de la commande GRANT.

  1. Rinçage Privilèges :

Exécuter « FLUSH PRIVILEGES ; » pour garantir que les modifications prennent effet.

  1. Confirmer les modifications :

Réexécutez la requête d'informations sur l'utilisateur pour vérifier que l'utilisateur root dispose désormais de « mysql_native_password » l'authentification et les privilèges souhaités.

En suivant ces étapes, l'accès root peut être restauré, permettant un contrôle total sur MySQL base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn