Erreur d'accès refusé : dépannage de l'erreur « 1044 (42000) » lors de l'exécution d'une requête MySQL
Lorsque vous essayez d'écrire des requêtes MySQL, vous pouvez rencontrez l'erreur suivante :
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'db'
Cette erreur indique un manque de privilèges nécessaires pour l'utilisateur tenter d'accéder à la base de données. Pour résoudre ce problème et établir les privilèges appropriés, suivez ces étapes :
Confirmez l'existence de l'utilisateur :
Assurez-vous que l'utilisateur auquel vous souhaitez accorder des privilèges existe. Exécutez la commande suivante pour vérifier les autorisations des utilisateurs :
show grants
Créer un nouvel utilisateur :
Si l'utilisateur n'existe pas, créez-en un à l'aide de CREATE. Instruction USER. Cependant, vous pouvez recevoir une erreur d'accès refusé puisque vous ne disposez pas actuellement des privilèges nécessaires :
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa'; ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr ivilege(s) for this operation
Connectez-vous en tant que root (si possible) :
Si l'utilisateur root est activé, vous pouvez vous connecter et créer les privilèges nécessaires. Exécutez la commande suivante dans bash :
mysql -u root -p
Entrez le mot de passe root lorsque vous y êtes invité.
Créez un nouvel utilisateur et accordez des privilèges en tant que root :
Dans le compte utilisateur root, créez le nouvel utilisateur et accordez-lui les autorisations appropriées. privilèges :
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'parsa'@'localhost';
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!