Java 使用JDBC问题连接到远程MySQL服务器

Java 使用JDBC问题连接到远程MySQL服务器,java,mysql,eclipse,jdbc,Java,Mysql,Eclipse,Jdbc,我正在eclipse上开发一个动态webapp,并试图访问一个远程MySQL数据库。我确保所有的信息都是正确的。然而,我似乎无法连接到它。下面是我的getConnection方法: public static Connection getConnection() throws SQLException { Connection conn = null; try{ Class.forName("com.mysql.jdbc.Driver").

我正在eclipse上开发一个动态webapp,并试图访问一个远程MySQL数据库。我确保所有的信息都是正确的。然而,我似乎无法连接到它。下面是我的getConnection方法:

public static Connection getConnection() throws SQLException {
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            String url = "jdbc:mysql://50.56.81.42:3306/GUEST_BOOK";
            String user = "username";
            String password = "password";
            conn =  DriverManager.getConnection(url, user, password);
            System.out.println("CONNECTED");
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }catch(InstantiationException e){
            e.printStackTrace();
        }catch(IllegalAccessException e){
            e.printStackTrace();
        }
            return conn;

    }

我正在尝试查看错误是什么,但是因为这是一个web应用程序,我在任何地方都看不到system.out.println,所以我很难调试它。关于如何调试的任何建议?

在web应用程序中,System.out会打印到服务器的日志文件中。如果您使用的是tomcat,请参阅tomcat基本目录中的日志目录

您的MySQL服务器是否可以从服务器外部访问?我这样问是因为可以禁用MySQL服务器的外部连接,更多信息请参阅

您的凭据正常(至少其格式正确)


否则,您将创建
Class.forName(“com.mysql.jdbc.Driver”).newInstance()
但您没有将其分配给
conn
变量。

如果您仍然难以在日志中看到系统,请尝试从独立java类测试该类,您将清楚地看到问题所在。

在web app中,您可以在服务器错误日志中监视错误。如果您部署到Eclipse中集成的服务器,您应该能够在Eclipse的控制台选项卡中看到它。否则,如果您正在导出WAR并手动将其部署到外部服务器,则是的,您只需要读取其日志。您确定mysql接受TCP连接吗?从eclipse哪里可以看到这一点?如果您已使用eclipse配置服务器,并且已从eclipse启动服务器,则所有日志输出都将显示在“控制台”视图中。