Enquête sur l'erreur « SQLSTATE[HY000] [1045] Accès refusé »
Cause :
L'erreur d'accès refusé se produit lorsque les informations d'identification fournies pour la connexion à la base de données sont incorrectes ou insuffisantes. Dans le cas donné, le message d'erreur indique que l'utilisateur 'test2' avec l'hôte 'localhost' se voit refuser l'accès.
Solution :
-
Vérifier l'existence de l'utilisateur : Exécutez la requête suivante pour confirmer si l'utilisateur 'test2' existe pour l'hôte donné 'localhost' :
SELECT user, host FROM mysql.user
-
Vérifiez l'hôte correspondant : Assurez-vous que l'hôte spécifié dans la configuration de CakePHP correspond à l'hôte associé à l'utilisateur MySQL. Si l'hôte est défini sur '%', remplacez-le par 'localhost'.
-
Réinitialisez le mot de passe si nécessaire : Si l'utilisateur existe, réinitialisez le mot de passe à l'aide de la commande suivante :
SET PASSWORD FOR 'test2'@'localhost' = PASSWORD('mysecretcleartextpassword')
-
Accorder des privilèges de base de données : Accordez les privilèges nécessaires à l'utilisateur sur le base de données d'emplois :
GRANT SELECT ON jobs.* TO 'test2'@'localhost'
-
Flush Privileges : Forcer MySQL à relire les tables de privilèges :
FLUSH PRIVILEGES
Considérations supplémentaires :
- Assurez-vous que le serveur MySQL dispose du bonnes règles de pare-feu en place.
- Si vous utilisez WAMP, vérifiez si le serveur WAMP est configuré pour écouter sur le port 3306.
- Vérifiez que vous utilisez la bonne version de MySQL prise en charge par CakePHP.
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