如何使用java访问我的计算机(距离50公里)中的另一台计算机mysql数据库

如何使用java访问我的计算机(距离50公里)中的另一台计算机mysql数据库,java,mysql,Java,Mysql,我的朋友需要用他的java程序远程访问我的MySQL数据库,他已经完成了所有的编码,但我们尝试用IP连接并更正用户名、密码,我已经禁用了防火墙并启用了路由器中的dmz打开了所有端口,但温仍然尝试通信,它说通信链路故障,没有访问此mysql服务器的权限 这就是错误: java.sql.SQLException: null, message from server: "Host '45.123.3.250' is not allowed to connect to thi

我的朋友需要用他的java程序远程访问我的MySQL数据库,他已经完成了所有的编码,但我们尝试用IP连接并更正用户名、密码,我已经禁用了防火墙并启用了路由器中的dmz打开了所有端口,但温仍然尝试通信,它说通信链路故障,没有访问此mysql服务器的权限

这就是错误:

java.sql.SQLException: null,  message from server: "Host 
            '45.123.3.250' is not allowed to connect to this MySQL server"

您收到的错误表明MySql正在阻止连接

默认情况下,MySql不允许从远程计算机进行连接。您必须明确授予您的朋友远程连接的访问权限

通常,您会授予user@hostname,但您可以用%代替主机名。这样做的缺点是,任何使用用户名(以及您指定的密码)的人都可以从任何地方进行连接,但消除了动态IP地址或网络的问题


有关更多信息,请参阅有关访问控制和GRANT命令的MySql文档。

尝试为您的朋友授予从其IP地址连接的权限:这与网络问题有关。也许,您尝试构建一个简单的helloworld页面,并将计算机设置为服务器。然后,试着让你的朋友打开你设置的页面。您需要进行配置,直到您的朋友可以访问,并且您的问题目的将完成请参阅“脱离主题”:在将SQL数据库直接公开到Internet之前,请认真、认真、认真地思考。这样做会导致真正史诗般的失败故事。
45.123.3.250
是计算机的IP地址还是路由器的IP地址?如果是路由器IP地址,您是否将路由器配置为NAT到您的计算机?您的计算机IP可能是内部IP,如
192.168.x.x
,如果没有在路由器上配置NAT,则无法从外部访问。