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
Copier après la connexion
-
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')
Copier après la connexion
-
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'
Copier après la connexion
-
Flush Privileges : Forcer MySQL à relire les tables de privilèges :
FLUSH PRIVILEGES
Copier après la connexion
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!