0

I have a question.

I just created an app using WPF. and trying to connect the database to retrieve the data. for the first time, I try to use the local database at my computer. using XAMPP and mysql.

Using the XAMPP, I can retrieve the data normally. Now I want to use the database at my website. But when I run the app, it fails and shows me this error message:

Access denied for user '[my user]' (using password: YES)

FYI, I already created a username and password. I also granted all the privileges using the wizard, but still won't work.

Here is my connection string:

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

Is there any mistake in my connection string?

4

3 回答 3

1

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

这个链接谈了一点。

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

于 2012-06-24T15:57:57.303 回答
0

终于我找到了答案。。

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

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

于 2012-07-03T15:18:31.780 回答
0

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

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

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

于 2017-03-31T08:22:07.487 回答