我收到此错误消息:拒绝用户访问(使用密码是)

时间:2012-06-24 15:36:42

标签: c# .net mysql wpf xampp

我有一个问题。

我刚刚使用WPF创建了一个应用程序。并尝试连接数据库以检索数据。 我第一次尝试在我的电脑上使用本地数据库。使用XAMPP和mysql。

使用XAMPP,我可以正常检索数据。现在我想在我的网站上使用该数据库。但是当我运行应用程序时,它会失败并向我显示此错误消息:

  

用户'[我的用户]'拒绝访问(使用密码:是)

仅供参考,我已经创建了用户名和密码。我还使用向导授予了所有权限,但仍然无效。

这是我的连接字符串:

MySqlConnection conn = new MySqlConnection("Server=[IP Address]; Database=[database name];Uid=[user id];Pwd=[password];");

我的连接字符串中有错误吗?

3 个答案:

答案 0 :(得分:1)

MySQL凭据会考虑发出请求的计算机的主机名。例如,在服务器上发出的请求可能看起来像user @ localhost。来自名为client的计算机的调用看起来像user @ client。除非您通过登录登录的主机名部分,否则每个都需要自己的用户帐户。我猜你所使用的帐户是特定于主机名的,因此你需要使用通配符主机名或为它所说的未经授权的帐户创建一个条目。

这个链接谈了一下。

http://dev.mysql.com/doc/refman/5.6/en/account-names.html

答案 1 :(得分:0)

最后我找到了答案..

答案是您只需在主机上添加服务器'%'即可。添加'%'后,您可以为.NET应用程序添加另一个IP地址来访问数据库。

在.NET中,使用从主机添加的IP地址更改服务器。谢谢。

答案 2 :(得分:0)

就像Philip Tinney所说,你可以在主机名部分加上通配符。我在我们的开发服务器上使用它(不推荐用于生产服务器):

update mysql.user set host = '%' where host='localhost';

然后我不得不重新启动服务器以使MySQL使用它(可能我刚刚重新启动了MySQL服务)。