我不知道为什么我得到这个,用户,altjenb在mysql数据库中具有完全访问权限,但我仍然遇到同样的错误。我尝试在mysql8.db4free.net和db4free.net上使用在线数据库并得到了同样的错误。尝试在localhost(xampp)中仍然出现相同的错误..
MySqlException:用户'altjenb'@'localhost'拒绝访问(使用 密码:是)
这是连接字符串
MySqlConnection connectionstring = new MySqlConnection("Server=localhost; port= 3306; Database=battlehunt_db; UserId=altjenb; Password=egrgeaf;");
我手动授予用户完全访问权限。但仍然没有, 我试图通过
提供访问权限GRANT ALL PRIVILEGES ON * battlehunt_db. * TO 'altjenb'@'localhost';
但仍然是同样的错误。
但是当我将userID更改为root并且没有密码时。它连接到数据库..看起来它没有收到用户名..我试图添加一个未注册的随机用户名(例如egwetr),但仍显示相同的错误..
我该如何解决这个问题?
我试图将unity3d 5与mysql db连接
答案 0 :(得分:1)
问题不在于代码。但是使用连接器,我使用的连接器版本不会使用mysql8更新。
答案 1 :(得分:0)
好的,解释我对这个问题的评论。
假设该用户的密码正确,则显示错误消息:
class fopl
{
public static void main(String str)
{
int n=str.length();
for (int i = 0;i<n; i++)
{
if (n>=0)
{
String space = str.charAt(i)+" ";
System.out.print(space);
}
}
}
}
这可能意味着用户没有权限连接到服务器&#39; localhost&#39;
在用户表中,您可以看到哪个主机具有权限:
MySqlException: Access denied for user 'altjenb'@'localhost' (using password: YES)
在此示例中,user1可以连接到localhost和127.0.0.1,所以:
---------------------------
user | host |
---------------------------
user1 | localhost |
user1 | 127.0.0.1 |
user2 | 127.0.0.1 |
两个连接都可以正常工作
但是用户2只能访问127.0.0.1
这样:
new MySqlConnection("Server=localhost; port= 3306; Database=battlehunt_db; UserId=user1; Password=egrgeaf;");
new MySqlConnection("Server=127.0.0.1; port= 3306; Database=battlehunt_db; UserId=user1; Password=whatever;");
会失败,因为它试图连接到&#39; localhost&#39;
和
new MySqlConnection("Server=localhost; port= 3306; Database=battlehunt_db; UserId=user2; Password=egrgeaf;");
会成功。
在Mysql的用户表中检查哪些主机可以访问用户&#39; altjenb&#39;,如果&#39; altjenb&#39;没有主人&#39; localhost&#39;您可以添加它或将连接字符串更改为用户拥有的其中一个主机。
希望这个帮助