Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois une erreur MySQL « Accès refusé » pour l'utilisateur \'test2\'@\'localhost\' ?

Pourquoi est-ce que je reçois une erreur MySQL « Accès refusé » pour l'utilisateur \'test2\'@\'localhost\' ?

Susan Sarandon
Libérer: 2024-11-30 05:46:14
original
908 Les gens l'ont consulté

Why am I Getting a MySQL

Erreur d'accès MySQL refusé : 'test2'@'localhost'

Lorsque vous rencontrez l'erreur "SQLSTATE[HY000] [1045] Accès refusé pour l'utilisateur 'test2'@'localhost'", cela indique que la tentative de connexion à la base de données MySQL en tant qu'utilisateur 'test2' depuis l'hôte 'localhost' a échoué en raison de problèmes d'informations d'identification ou d'autorisation.

Causes sous-jacentes

Cette erreur peut se produire pour plusieurs raisons :

  • Identifiants incorrects : Assurez-vous que le nom d'utilisateur « test2 » et le mot de passe « ordinateur » fournis dans la configuration de l'application (app.php) sont tous deux valides.
  • Utilisateur non créé : Vérifiez qu'un utilisateur MySQL nommé 'test2' existe dans votre base de données. Vous pouvez le vérifier en exécutant la requête suivante en tant qu'utilisateur privilégié (par exemple, root) :

    SELECT user, host FROM mysql.user WHERE user = 'test2';
    Copier après la connexion

    Si la requête ne renvoie pas de ligne, l'utilisateur n'existe pas.

  • Restrictions d'accès utilisateur : Même si l'utilisateur existe, il se peut qu'il ne dispose pas de privilèges suffisants pour se connecter à la base de données ou accéder à la base de données spécifiée (tâches). Vérifiez les privilèges accordés à l'utilisateur pour la base de données d'emplois.

Étapes de dépannage

Pour résoudre ce problème, suivez ces étapes :

  1. Vérifier les informations d'identification : Saisissez à nouveau le nom d'utilisateur et le mot de passe pour vous assurer qu'ils sont correct.
  2. Créer un utilisateur de base de données (si manquant) : Si l'utilisateur 'test2' n'est pas trouvé, créez-le à l'aide de la requête suivante :

    CREATE USER 'test2'@'localhost' IDENTIFIED BY 'computer';
    Copier après la connexion
  3. Accorder des privilèges : Assurez-vous que l'utilisateur 'test2' dispose des privilèges nécessaires pour accéder aux tâches base de données. Exécutez la requête suivante en tant qu'utilisateur privilégié :

    GRANT SELECT, UPDATE, INSERT, DELETE ON jobs.* TO 'test2'@'localhost';
    Copier après la connexion
  4. Flush Privileges : Après avoir modifié les privilèges, videz-les pour vous assurer qu'ils prennent effet :

    FLUSH PRIVILEGES;
    Copier après la connexion

Supplémentaire Considérations

  • Vérifiez la valeur de l'hôte dans la chaîne de connexion. Il doit correspondre à l'hôte sur lequel votre serveur MySQL est exécuté. Dans ce cas, « localhost » est correct si vous vous connectez à la base de données sur la même machine.
  • Désactivez tout pare-feu ou logiciel antivirus susceptible de bloquer la connexion.
  • Envisagez de changer le nom d'hôte pour l'utilisateur de la base de données sur '%', ce qui autorise les connexions depuis n'importe quel hôte. Cependant, cela est moins sécurisé que de spécifier un nom d'hôte spécifique.

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