使用方法mysql_native_password进行身份验证失败

Bad*_*ott 16 c# mysql mysql-connector winforms visual-studio-2012

尝试使用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();
Run Code Online (Sandbox Code Playgroud)

我正在远程连接,将我的IP列入白名单(甚至临时列入白名单(%)以进行测试),三重检查用户名和密码以及IP.

我最初尝试没有域名的用户名(用户名而不是username@mydomain.com),但它给了我以下错误:

不再支持使用旧密码进行身份验证,请使用4.1样式密码.

非常感谢任何帮助,谢谢!

yad*_*avr 7

它的问题是"远程数据库访问主机"."您可以允许外部Web服务器通过将其域名添加到能够访问您网站上的数据库的主机列表来访问您的MySQL数据库."

MySql访问权限未授予运行应用程序的系统的IP地址(在您的情况下为"2.2.2.2").

注意: - '2.2.2.2'是您的公共IP地址.


小智 5

两种可能的情况:

  1. MySQL区分大小写,请确保Database=连接字符串中的大小写与实际数据库名称匹配
  2. 您可能必须向用户授予权限。

我希望这对你有帮助。