Maison  >  Article  >  base de données  >  Pourquoi est-ce que j'obtiens « Accès refusé » pour l'utilisateur \'\'@\'localhost\' à la base de données ?

Pourquoi est-ce que j'obtiens « Accès refusé » pour l'utilisateur \'\'@\'localhost\' à la base de données ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-02 03:42:02696parcourir

Why am I Getting

"Accès refusé : résolution de l'accès erroné de l'utilisateur @ 'localhost' à la base de données"`

Les utilisateurs MySQL rencontrent souvent le message d'erreur frustrant " accès refusé à l'utilisateur ''@'localhost' à la base de données ''." Ce problème provient de privilèges utilisateur ou de paramètres de configuration incorrects. Pour résoudre ce problème, suivez ces étapes :

  • Vérifiez les informations d'identification de l'utilisateur :

    • Assurez-vous que l'utilisateur MySQL spécifié dans la variable $dbuser existe.
    • Vérifiez que l'utilisateur dispose des autorisations d'accès appropriées pour la base de données spécifiée dans $dbname.
  • Accorder des privilèges utilisateur :

    • Utilisez la commande SQL suivante pour accorder les privilèges nécessaires :
      GRANT ALL PRIVILEGES ON database_name.* TO user_name@host_name;
    • Remplacez "database_name" par le nom réel de la base de données et " user_name" avec l'utilisateur spécifié dans $dbuser.
    • Spécifiez "host_name" comme "localhost" pour accorder l'accès depuis la machine locale.
  • Configurez l'adresse de liaison MySQL :

    • Vérifiez le fichier de configuration MySQL (généralement nommé my.cnf) pour le paramètre "bind-address" et modifiez-le pour accepter les connexions de tous les hôtes :
      bind-address = 0.0.0.0
    • Redémarrez le service MySQL pour que les modifications prennent effet.
  • Code de mise à jour :

    • Modifiez le code PHP pour inclure à la fois le nom d'utilisateur et le mot de passe dans la fonction mysql_connect() :
      mysql_connect($dbhost, $dbuser, $dbpass) ou die(mysql_error());
  • Activer l'accès à distance (si nécessaire) :

    • Pour autoriser l'accès à partir d'hôtes distants, assurez-vous que le serveur MySQL écoute sur le port 3306 et que les règles de pare-feu sont configurées pour autoriser les connexions sur ce port.

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