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 :
Étapes de dépannage :
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.
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';
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');
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
Flush Privileges :
Exécutez la commande suivante pour forcer MySQL à relire les tables de privilèges :
FLUSH PRIVILEGES;
Considérations supplémentaires :
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!