【发布时间】:2013-07-12 22:31:09
【问题描述】:
尝试使用 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' 的访问被拒绝(使用密码:是的)
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。
我最初尝试使用没有域的用户名(用户名而不是 username@mydomain.com),但它给了我以下错误:
不再支持使用旧密码进行身份验证,请使用 4.1 样式的密码。
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
不重复,因为第一条错误消息是有问题的。通过将@mydomain.com 添加到用户名来解决第二条错误消息。
-
您的错误消息暗示这是正确的做法,即您的 MySQL 用户名不包含
@mydomain.com。 -
我没有解决方案,因为我似乎有同样的问题,但我确实注意到在我的情况下,我使用的是 URL。如果我使用物理IP,那么问题就消失了。我目前的理论是,问题要么是 DNS 问题,要么是防火墙问题。
标签: c# mysql winforms visual-studio-2012 mysql-connector