19

Visual Studio 2012 Update 3 で Connector/Net C#/WinForms を使用して、Web ホストで MySQL に接続しようとしていますが、次のエラー メッセージが表示されます。

メソッド 'mysql_native_password' を使用したユーザー 'username@mydomain.com' のホスト '1.1.1.1' への認証が次のメッセージで失敗しました: ユーザー 'username@mydomain.com'@'2.2.2.2' のアクセスが拒否されました (パスワードを使用: YES)

string connectionString = "SERVER=1.1.1.1;PORT=3306;DATABASE=databaseName;UID=username@mydomain.com;PASSWORD=mypassword;";

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

私はリモートで接続しており、自分の IP をホワイトリストに登録し (テストのために一時的にすべて (%) をホワイトリストに登録しました)、ユーザー名とパスワード、および IP を 3 回チェックしました。

最初にドメインなしでユーザー名(username@mydomain.comではなくusername)を試しましたが、次のエラーが表示されました:

古いパスワードによる認証はサポートされなくなりました。4.1 スタイルのパスワードを使用してください。

どんな援助でも大歓迎です、ありがとう!

4

8 に答える 8

5

次の 2 つの可能性があります。

  1. MySQL では大文字と小文字Database=が区別されます。接続文字列の大文字と小文字が実際のデータベース名と一致していることを確認してください。
  2. ユーザーに権限を付与する必要がある場合があります。

これがお役に立てば幸いです。

于 2014-10-20T02:59:58.923 に答える
1

アプリケーション設定ファイル (または接続文字列を保存した場所) を確認してください。

私の場合、アプリケーションは古い接続文字列を使用していました (これは無効でした)。設定ファイルのコードに加えた変更が(設定ファイルの)設計者に反映されると想定していました。しかし、そうではありませんでした!

于 2015-11-29T14:15:25.047 に答える
0

これは、ASP.NET 4.5 での特定のメンバーシップ SQL Server ベースの指示の場合に関連している可能性があります。回避策は、web.config で新しいメンバーシップを作成し、mvc 4 AccountControler を削除して、MVC3 の古いものをここまたはインターネットで使用することです。

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

于 2016-10-22T15:43:27.993 に答える