我正在尝试连接到共享服务器上的mysql数据库。我正在使用java应用程序进行连接。连接到localhost db时不会发生问题。
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
我的无线路由器上是否有设置搞砸了?
答案 0 :(得分:2)
您的数据库未配置为进行远程访问。基本上它说你的用户位于你的ip没有访问数据库的权限,而不是你位于web服务器的用户。
如果您使用的是共享主机软件包,则需要在管理区域中启用此功能,否则主机可能不支持此功能。某些主机还要求外部可访问的数据库可能不在Web服务器上,因此您的连接字符串也可能会发生变化。
答案 1 :(得分:0)
路由器上没有搞砸任何设置。如果您尝试从mycomputersIP
连接(即打开JDBC连接的程序在您的计算机上),则数据库需要向'DBUSER'@'mycomputersIP'
授予权限。 (事实上,这是授权字符串的那一部分。)
答案 2 :(得分:0)
正如VeeArr所说''DBUSER'@'mycomputersIP ???'是标准的。由于某种原因,您的主机公开您的数据库,但不允许您连接。如果您管理整个数据库或控制面板中有一个选项,phpMyAdmin中有一种方法可以在Privileges下执行此操作。如果没有,那么您需要联系您的主人以获得指导
答案 3 :(得分:-1)
我之前遇到的同样问题,非常简单,您的ISP拒绝访问数据库,
提出授予访问权限的请求,它会起作用。