2013-07-15 12 views
11

Der Versuch, MySQL auf meiner Web-Host zu verbinden, Connector/Net C#/WinForms in Visual Studio 2012 Update 3, aber immer die folgenden Fehlermeldung mit:Authentifizierung fehlgeschlagen Methode mysql_native_password

Authentication to host '1.1.1.1' for user '[email protected]' using method 'mysql_native_password' failed with message: Access denied for user '[email protected]'@'2.2.2.2' (using password: YES)

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

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

I bin Remote-Verbindung, habe meine IP-Adresse auf die weiße Liste gesetzt (und sogar vorübergehend alle (%) zum Testen auf die weiße Liste gesetzt), habe den Benutzernamen und das Passwort und die IP-Adresse dreimal geprüft.

Ich habe versucht, die ursprünglich den Benutzernamen ohne Domäne (Benutzername statt [email protected]), aber es gab mir die folgenden Fehler:

Authentication with old password no longer supported, use 4.1 style passwords.

Jede Hilfe wäre sehr willkommen, danke!

+1

möglich Duplikat von [Authentifizierung mit altem Passwort nicht mehr unterstützt, verwenden Sie 4.1 Stil-Passwörter] (http://stackoverflow.com/questions/15772479/authentication-with-old-password-no-longer-supported-use-4 -1-style-passwords) – eggyal

+1

Nicht doppelt, da die erste Fehlermeldung die problematische ist. Diese zweite Fehlermeldung wurde behoben, indem @ mydomain.com zum Benutzernamen hinzugefügt wurde. –

+1

Ihre Fehlermeldungen implizieren, dass dies korrekt ist, d.h.dass Ihr MySQL-Benutzername "@ mydomain.com" nicht enthält. – eggyal

Antwort

4

Sein Problem von 'Remote Database Access Hosts'. "Sie können externen Webservern erlauben, auf Ihre MySQL-Datenbanken zuzugreifen, indem Sie ihren Domainnamen der Liste der Hosts hinzufügen, die auf Datenbanken auf Ihrer Website zugreifen können."

Der MySql-Zugriff wird nicht der IP-Adresse des Systems gewährt, auf dem die Anwendung ausgeführt wird (in Ihrem Fall die '2.2.2.2').

Hinweis: - "2.2.2.2" ist Ihre öffentliche IP-Adresse.

1

Zwei mögliche Dinge:

  1. MySQL ist Groß- und Kleinschreibung sicher, dass der Fall von Database= in Ihrer Verbindungszeichenfolge übereinstimmt mit den tatsächlichen Datenbanknamen
  2. Sie haben Berechtigungen für den Benutzer zu gewähren.

Ich hoffe, das hilft Ihnen.

+0

Ja. Groß- und Kleinschreibung war hier der Fall. Gute Arbeit. –

1

Überprüfen Sie Ihre Anwendungseinstellungen (oder wo immer Sie die Verbindungszeichenfolge gespeichert haben).

In meinem Fall verwendete die Anwendung die alte Verbindungszeichenfolge (die nicht gültig war). Ich nahm an, dass die Änderung, die ich im Code der Einstellungsdatei vorgenommen habe, im Designer (der Einstellungsdatei) widergespiegelt wird. Aber es war nicht so!

0

In meinem Fall aktualisiert Passwort nicht verwendet wurde. Ich habe gerade das Passwort mit dem Password Generator erzeugt und kopiert, aber vergessen, auf Passwort ändern zu klicken.

Überprüfen Sie auch, ob der Benutzer zur Datenbank hinzugefügt wurde und über Berechtigungen verfügt.

Verwandte Themen