Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接到远程mysql数据库时出现问题_Java_Mysql - Fatal编程技术网

Java 连接到远程mysql数据库时出现问题

Java 连接到远程mysql数据库时出现问题,java,mysql,Java,Mysql,我正在尝试连接到共享服务器上的mysql数据库。我正在使用java应用程序建立连接。当我连接到本地主机数据库时,问题不会发生 URL = "jdbc:mysql://SHARED HOST IP:3306/DBNAME"; USER = "dbUSER"; PASS = "dbPASS"; Connection conn = DriverManager.getConnection(URL, USER, PASS); java.sql.SQLException: Access deni

我正在尝试连接到共享服务器上的mysql数据库。我正在使用java应用程序建立连接。当我连接到本地主机数据库时,问题不会发生

URL = "jdbc:mysql://SHARED HOST IP:3306/DBNAME"; 
USER = "dbUSER"; 
PASS = "dbPASS"; 

Connection conn = DriverManager.getConnection(URL, USER, PASS); 

java.sql.SQLException: Access denied for user 'DBUSER'@'mycomputersIP???' (using password: YES)
奇怪的是,它说dbuser@mycomputersip被拒绝,而不是dbuser@sharedhostIP


我的无线路由器上是否有设置出错?

您的路由器上没有设置出错。如果您试图从
mycomputersIP
(即打开JDBC连接的程序在您的计算机上)进行连接,则数据库需要向
'DBUSER'@'mycomputersIP'
授予权限。(事实上,这就是授权字符串部分的要点。)

您的数据库未配置为远程访问。基本上,它是说位于ip的用户没有访问数据库的权限,而不是位于web服务器的用户


如果您使用的是共享托管软件包,则需要在管理区域启用此功能,否则主机可能不支持此功能。一些主机还要求外部可访问的数据库可能不在web服务器上,因此您的连接字符串也可能会更改。

与我之前遇到的问题相同,非常简单,ISP拒绝访问数据库


提出授予访问权限的请求,它将起作用。

正如VeeArr所说,“DBUSER”@“mycomputersIP???”是标准的。出于某种原因,您的主机公开了您的数据库,但不允许您连接。如果您管理整个数据库或在控制面板中有一个选项,phpMyAdmin中有一种方法可以在特权下执行此操作。如果没有,那么您需要联系您的主机以获取指南

当然不是路由器。;)好的,我明白它现在在做什么。我确实进入了cpanel并将我的ip添加为访问主机,但我仍然有相同的错误。尝试通过删除尽可能多的变量来简化等式。也许可以在下载mysql工作台,并通过这种方式进行连接。如果它仍然给你这个错误,我想还是有一些设置问题。为了验证,您输入了外部ip,而不是内部ip,对吗?jdbc:mysql://server ip:3306/dbname服务器ip是mysql db服务器的ip。至于远程mysql设置,我有外部设置和192.168.1设置。我将推荐一些用于测试目的的设置,我要求您在发现这些设置后立即进行更改。允许来自%的连接。这应该允许来自任何ip的连接,只要它是一个有效的用户。我不这么认为,访问被拒绝的消息是从服务器接收的,所以连接工作。这似乎是一个授权问题。