Maison >base de données >tutoriel mysql >Pourquoi mon code PHP obtient-il un « accès refusé » lors de la connexion à MySQL et comment puis-je y remédier ?
Échec de connexion à la base de données MySQL depuis PHP : résolution du problème « Accès refusé »
Tenter d'interagir avec une base de données MySQL à partir de PHP peut parfois entraîner dans une erreur "Accès refusé". Dans ce cas, l'erreur spécifique reçue est « Échec de la connexion : accès refusé pour l'utilisateur 'root'@'localhost' (en utilisant le mot de passe : OUI)." Malgré l'accès à la base de données via la ligne de commande et l'utilisation du mot de passe correct, la page Web ne parvient pas à se connecter.
Pour résoudre ce problème, les étapes suivantes ont été suivies :
Connectez-vous à MySQL en tant qu'utilisateur root en utilisant :
mysql -u root -p -h localhost
Créez un nouvel utilisateur avec l'utilisateur souhaité informations d'identification :
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
Créez la base de données à utiliser :
CREATE DATABASE database_name;
Accordez des privilèges au nouvel utilisateur pour la base de données :
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'localhost';
Déconnectez-vous du compte root et connectez-vous en tant que nouveau utilisateur :
quit; mysql -u new_user -p -h localhost
Importez le schéma et les données de la base de données à l'aide d'un script :
source database_schema.sql;
Après la mise en œuvre de ces modifications, le PHP script connecté avec succès à la base de données MySQL à l'aide de l'appel suivant :
$conn = new mysqli("localhost", "new_user", "new_password", "database_name");
En suivant ces étapes, l'erreur "Accès refusé" a été résolu, permettant à la fonction PHP d'interagir avec la base de données MySQL.
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!