Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois une erreur « Accès refusé » lors de la connexion à MySQL dans CakePHP ?

Pourquoi est-ce que je reçois une erreur « Accès refusé » lors de la connexion à MySQL dans CakePHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 07:05:29163parcourir

Why am I getting an

Erreur d'accès refusé lors de la connexion à MySQL dans CakePHP

Problème :

Développeurs utilisant CakePHP peut rencontrer l'erreur suivante lors de la tentative de connexion à une base de données MySQL :

SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' (using password: YES)

Solution :

Cette erreur indique généralement que :

  • Le mot de passe est incorrect.
  • L'utilisateur MySQL spécifié n'existe pas pour l'hôte fourni.

Étapes de dépannage :

  1. Vérifier l'existence de l'utilisateur :

    Exécutez la requête suivante à partir d'un client MySQL sur lequel vous disposez de privilèges suffisants :

    SELECT user, host FROM mysql.user WHERE user = 'username' AND host = 'localhost';

    Si aucune ligne n'est renvoyée, l'utilisateur n'existe pas avec l'hôte spécifié.

    Si la ligne existe, passez à l'étape 3.

  2. Créez l'utilisateur MySQL :

    Si l'utilisateur n'existe pas, créez-le avec la commande suivante :

    CREATE USER username@localhost IDENTIFIED BY 'password';
  3. Réinitialiser le mot de passe :

    Si l'utilisateur existe mais le mot de passe est incorrect, réinitialisez-le avec la commande suivante :

    SET PASSWORD FOR username@localhost = PASSWORD('new_password');
  4. Accorder des autorisations :

    Assurez-vous que l'utilisateur dispose des autorisations nécessaires sur les objets de la base de données :

    GRANT <permissions> ON <database_name>.* TO username@localhost;

    Remplacer avec les autorisations souhaitées (par exemple, SELECT, INSERT).

  5. Flush Privileges :

    Exécutez la commande suivante pour forcer MySQL à relire les tables de privilèges :

    FLUSH PRIVILEGES;

Considérations supplémentaires :

  • L'hôte de l'utilisateur peut être défini sur une valeur générique (%) pour correspondre à tout hôte qui ne correspond pas explicitement.
  • Le message d'erreur peut également indiquer une incompatibilité entre l'hôte spécifié dans les paramètres de connexion CakePHP et l'hôte configuré pour l'utilisateur MySQL.
  • Consultez le Documentation MySQL pour plus d'informations sur la gestion des utilisateurs et les autorisations.

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