我在Openshift
上有一个应用程序,我正在尝试connect
到MySQL 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 Link和This 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/