2012-12-27 45 views
2

我想创建一个可以从任何主机访问MySQL服务器值java.sql.SQLException:拒绝访问用户

我使用一个用户

create user [email protected] identified by 'abc123'

grant all privileges mydb.* to 'abc'@'%';

但是当我运行客户端时,发生错误: "java.sql.SQLException: Access denied for user 'abc'@'10.10.0.7' (using password: YES)

请帮帮我!

+0

您已经创建了10.10.131.17 IP的用户,并正试图从10.10.10.7连接MySQL服务器。它不会工作。为此,您必须使用10.10.10.7 IP创建用户'create user [email protected]'abc123''确定 –

+0

我使用VPN作为实际LAN,并且我想从任何地方访问,我创建了一个用户'abc '@' %”。但它不起作用。我害怕,当我在其他网络,可能会很好? – lannv

+0

检查我的答案并创建一个允许所有IP的用户。并检查你的服务器是否有防火墙运行。允许这些IP位于服务器上的防火墙上 –

回答

0

一个明显的猜测是,你发出GRANT声明后你没有做FLUSH PRIVILEGES;

另一个明显的猜测(不知道是否在问题中的错字)是GRANT的语法是GRANT ALL PRIVILEGES ON mydb.* TO 'abc'@'%';,其中ON在其中。

+0

对不起,输入错误, 我用“刷新权限”授予命令后ON你说 – lannv

0

您已经创建了允许IP 10.10.131.17的用户,并且您正在尝试连接IP 10.10.10.7的MySQL服务器。所以它不会工作。 要访问MySQL服务器,您必须创建允许IP 10.10.10.7的用户或允许使用%的所有IP。

CREATE USER `abc`@`10.10.10.7` IDENTIFIED BY 'abc123' 
GRANT ALL PRIVILEGES mydb.* TO `abc`@`10.10.10.7`; 

OR

CREATE USER `abc`@`%` IDENTIFIED BY 'abc123' 
GRANT ALL PRIVILEGES mydb.* TO `abc`@`%`; 
+0

是的,它在第一种情况下罚款 我也试过第二种情况,但它不工作,谢谢 – lannv

+0

你检查我对你的问题发表了评论 –

相关问题