java.net.ConnectException:连接被拒绝:连接openshift

时间:2014-04-05 14:46:05

标签: java mysql jdbc openshift

我在[{3}}上有一个申请我尝试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

我也提到了OpenshiftThis Link,但我无法解决这个问题。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

这是一个缩放的应用程序,还是在一个齿轮中运行?无论哪种方式,您应该使用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日志是否有错误。