我在Openshift上有一个应用程序,我正在尝试connectMySQL DB我的代码是:

private static final String URL = "jdbc:mysql://127.11.240.130:3306/"
        + DB_NAME;
public static String initConnection() {
    if (connection == null) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection(URL, USER_NAME,
                    PASSWORD);
            return "Connection Initialized!";
        } catch (SQLException e) {
            e.printStackTrace();
            return e.getMessage();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            return e.getMessage();
        }
    }
    return "Connection Initialized!";
}


index.jsp中的代码是:

<p><% out.print(""+com.measyou.DbManager.initConnection()); %> </p>


这段代码给了我

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure


Caused by

Caused by: java.net.ConnectException: Connection refused: connect


我也提到了This LinkThis one,但是我无法解决此问题。请帮助我解决这一问题。

最佳答案

这是可扩展的应用程序,还是单步运行?无论哪种方式,您都应该使用OPENSHIFT_MYSQL_DB_HOST和OPENSHIFT_MYSQL_DB_PORT,而不是硬编码IP和端口。并且您确定mysqld正在运行?运行以下命令:

ps -ef | grep mysqld

并且您应该看到正在运行的进程。然后运行:

netstat -plnt | grep $OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT

如果运行正常,您应该会看到如下一行:

tcp 0 0 127.11.240.130:3306 0.0.0.0:* LISTEN 459740/mysqld

如果该进程未运行,或者未按预期在端口上侦听,请检查〜/ mysql / log /中的mysql登录是否有错误。

关于java - java.net.ConnectException:连接被拒绝:connect openshift,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22882341/

10-12 18:44