Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens « Accès refusé pour l'utilisateur \'username\'@\'localhost\'\ » dans MySQL ?

Pourquoi est-ce que j'obtiens « Accès refusé pour l'utilisateur \'username\'@\'localhost\'\ » dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-12-01 16:02:14
original
355 Les gens l'ont consulté

Why Am I Getting

Accès refusé pour l'utilisateur 'Nom d'utilisateur'@'localhost'

Le message d'erreur "SQLSTATE[HY000] [1045] Accès refusé pour l'utilisateur 'nom d'utilisateur'@'localhost '" indique que l'utilisateur spécifié n'a pas accès à la base de données. Cela peut se produire parce que l'utilisateur n'existe pas, que le mot de passe est incorrect ou que l'utilisateur ne dispose pas des privilèges nécessaires.

Vérification de l'existence de l'utilisateur

Pour vérifier si l'utilisateur existe, exécutez ce qui suit requête :

SELECT user, host FROM mysql.user
Copier après la connexion

Recherchez une ligne avec le nom d'utilisateur et le nom d'hôte spécifiés, indiquant que l'utilisateur existe.

Mot de passe Validation

Si l'utilisateur existe, confirmez que le mot de passe est correct en le mettant à jour :

SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new_password')
Copier après la connexion

Accorder des privilèges

L'utilisateur peut disposer de privilèges insuffisants pour accéder à la base de données. Accordez les privilèges nécessaires avec une commande telle que :

GRANT SELECT ON database_name.* TO 'username'@'localhost'
Copier après la connexion

Configuration du pare-feu et du port

Si les étapes ci-dessus ne résolvent pas le problème, vérifiez les paramètres du pare-feu pour vous assurer que le port de la base de données (généralement 3306) est ouvert. De plus, vérifiez le nom d'hôte de l'utilisateur dans le fichier de configuration app.php. Le nom d'hôte doit correspondre à la colonne d'hôte de l'utilisateur dans la table mysql.user.

Wildcard Host

Si l'hôte de l'utilisateur est défini sur %, il correspond à n'importe quel hôte. Cela peut entraîner des problèmes si le nom d'hôte dans la configuration app.php ne correspond pas au nom d'hôte de l'utilisateur. Remplacez explicitement l'hôte de l'utilisateur par localhost.

Actualisation des privilèges

Les modifications apportées aux tables de privilèges MySQL nécessitent qu'une instruction FLUSH PRIVILEGES prenne effet, exécutée par un utilisateur privilégié :

FLUSH PRIVILEGES
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal