我在[{3}}上有一个申请我尝试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
答案 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日志是否有错误。