Java SQL连接无法正常运行

时间:2019-05-23 14:03:24

标签: java mysql sql phpmyadmin

当我连接到我的MYSQL数据库(托管在具有托管而不是localhost的域上的phpmyadmin上)时,收到一个错误,我被拒绝完全访问服务器。到底是怎么回事?我对如何使用这种库方法不是很熟悉,并且感到困惑。

Connection connection;
try 
{
   connection = 
  DriverManager.getConnection("jdbc:mysql://WEBSITENAME.com/DATABASENAME0", 
   "DATABASEUSERNAME", "DATABASEPASSWORD");
   Statement sql = connection.createStatement();
   ResultSet myRs = sql.executeQuery("SELECT * FROM table");

while(myRs.next()) 
{
  System.out.println(myRs.getString("column"));
}

} catch (SQLException e) 
{
   e.printStackTrace();
}

提供的错误如下:

  

java.sql.SQLException:用户'user'@'IP地址已在此处列出的访问被拒绝(使用密码:是)       在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)       在com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)       在com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)       在com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)       在com.mysql.cj.jdbc.ConnectionImpl。(ConnectionImpl.java:455)       在com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)       在com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)       在java.sql.DriverManager.getConnection(未知来源)       在java.sql.DriverManager.getConnection(未知来源)       在jDgmj8pWUnXVoHZk04z9.sqlConnect.updateCommand(sqlConnect.java:12)       在jDgmj8pWUnXVoHZk04z9.Driver.main(Driver.java:10)

3 个答案:

答案 0 :(得分:0)

我对此有两个想法:

  1. 通常,您的MySQL拒绝来自其他主机的连接。您必须在配置文件中进行配置(请参见here)。如果您无法访问配置文件,则必须询问管理员。

  2. 此外,您应该检查端口3306(TCP连接的MySQL默认端口)是否打开。如果防火墙阻止了该端口,则将无法连接。在Windows中,您可以使用telnet进行检查(如果启用):

telnet WEBSITENAME.com 3306

没有错误消息(空白cmd)表示已建立连接。

答案 1 :(得分:0)

问题之一可能是服务器,请检查是否允许该用户从本地主机外部连接,或者检查是否允许该用户连接:user @ IPAddress

答案 2 :(得分:0)

托管服务的常见问题,例如当今的托管DB / DBaaS。许多托管服务提供商默认将其全部设置为DENY ALL,并且期望没有任何数据库连接被允许从匿名Internet IP进入。 (a)他们的平台之外或(b)他们的子网之外的任何东西。

如果其他推荐的测试不起作用(例如telnet),请询问数据库提供商是否维护白名单以及如何提供例外。通常,这是通过许多托管服务提供商的自助票务系统完成的。

或者您可以在同一托管提供商上共同托管Java应用程序吗?例如通过与数据库实例相同的子网上的基本VM /实例?