Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens « Accès refusé pour l'utilisateur 'root'@'localhost' » dans MySQL malgré l'accès en ligne de commande ?

Pourquoi est-ce que j'obtiens « Accès refusé pour l'utilisateur 'root'@'localhost' » dans MySQL malgré l'accès en ligne de commande ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 02:41:09196parcourir

Why Am I Getting

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

Lors de la tentative opérations de base de données via une application Web, vous pouvez rencontrer l'erreur « Accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)." Bien qu'il soit possible d'accéder à la base de données à partir de l'invite de commande, cette erreur peut être frustrante.

Origine de l'erreur

Cette erreur se produit généralement parce que les privilèges utilisateur ne sont pas correctement configuré pour l'utilisateur « root » dans MySQL. Par défaut, l'utilisateur « root » a un accès limité depuis l'hôte « localhost ».

Résoudre le problème de connexion

Pour résoudre ce problème, vous devez accorder le Accès utilisateur « root » à la base de données depuis « localhost ». Une approche efficace consiste à exécuter la commande suivante à partir de l'invite de commande MySQL :

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';

Assurer la cohérence du nom d'hôte

Il est crucial de s'assurer que le nom d'hôte que vous utilisez lors de la connexion à la base de données correspond au nom d'hôte spécifié dans l'instruction GRANT. Dans ce cas, « localhost » doit être utilisé dans les deux cas.

Exemple de séquence de commandes

Voici un exemple de séquence de commandes que vous pouvez exécuter dans l'invite de commande MySQL pour résoudre ce problème :

  1. mysql -u root -p : Connectez-vous à MySQL en tant que « racine » utilisateur.
  2. ACCORDEZ TOUS LES PRIVILÈGES SUR *.* À 'root'@'localhost'; : accordez les privilèges nécessaires à l'utilisateur 'root'.
  3. FLUSH PRIVILEGES ; : rechargez les tables de privilèges pour appliquer les modifications.

Une fois que vous avez exécuté ces commandes, vous devriez pouvoir accéder à la base de données depuis votre application Web sans rencontrer l'erreur "Accès refusé". N'oubliez pas de configurer le nom d'hôte en conséquence en fonction de votre environnement spécifique.

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