web-dev-qa-db-fra.com

L'authentification a échoué avec la méthode mysql_native_password

Tentative de connexion à MySQL sur mon hôte Web, à l'aide de Connector/Net C #/WinForms dans Visual Studio 2012 Update 3, mais en obtenant le message d'erreur ci-dessous:

L'authentification auprès de l'hôte '1.1.1.1' pour l'utilisateur '[email protected]' à l'aide de la méthode 'mysql_native_password' a échoué avec le message suivant: Accès refusé pour l'utilisateur '[email protected]' @ '2.2.2.2' (avec le mot de passe: YES)

string connectionString = "SERVER=1.1.1.1;PORT=3306;DATABASE=databaseName;[email protected];PASSWORD=mypassword;";

MySqlConnection connection = new MySqlConnection(connectionString);
connection.Open();

Je me connecte à distance, j'ai inscrit mon IP sur la liste blanche (et même temporairement tous les noms (%) à tester), vérifié trois fois le nom d'utilisateur, le mot de passe et l'adresse IP. 

A l'origine, j'ai essayé le nom d'utilisateur sans le domaine (nom d'utilisateur plutôt que [email protected]), mais cela m'a donné l'erreur ci-dessous:

L'authentification avec l'ancien mot de passe n'étant plus prise en charge, utilisez des mots de passe de style 4.1.

Toute aide serait très appréciée, merci!

15
Badger Sharescott

Son problème "Hôtes d'accès à la base de données distante" ... "vous pouvez autoriser des serveurs Web externes à accéder à vos bases de données MySQL en ajoutant leur nom de domaine à la liste des hôtes pouvant accéder aux bases de données de votre site Web."

L’accès MySql n’est pas accordé à l’adresse IP du système sur lequel l’application est exécutée (dans votre cas, il s’agit du «2.2.2.2»). 

Remarque: - "2.2.2.2" est votre adresse IP publique.

6
yadavr

Deux choses possibles:

  1. MySQL est sensible à la casse assurez-vous que la casse de Database= dans votre chaîne de connexion correspond au nom de base de données actuel
  2. Vous devrez peut-être accorder des privilèges à l'utilisateur.

J'espère que cela vous aidera.

3
Leonel Maye

Vérifiez le fichier de paramètres de votre application (ou l'emplacement où vous avez stocké la chaîne de connexion). 

Dans mon cas, l'application utilisait l'ancienne chaîne de connexion (non valide). Je supposais que la modification apportée au code du fichier de paramètres était répercutée sur le concepteur (du fichier de paramètres). Mais ce n'était pas le cas!

1
theshinylight

Dans mon cas, le mot de passe mis à jour n'a pas été utilisé. Je viens de générer le mot de passe à l'aide de Password Generator et de le copier, mais j'ai oublié de cliquer sur Changer le mot de passe. 

Vérifiez également que l'utilisateur est ajouté à la base de données et qu'il dispose de privilèges.

0
Syed Nasir Abbas

Cela pourrait être lié au cas d'instructions spécifiques relatives à l'adhésion basées sur SQL Server sur ASP.NET 4.5. La solution consiste à créer une nouvelle adhésion à web.config, à supprimer mvc 4 AccountControler et à utiliser l'ancienne version de MVC3 ici ou sur Internet:

http://www.nsilverbullet.net/2012/11/06/using-mysql5-as-membership-backend-for-aspnet45-mvc4-application/

0
Robert Juz