【问题标题】:Can't Connect OpenShift MySql from tomcat project无法从 tomcat 项目连接 OpenShift MySql
【发布时间】:2015-03-02 18:22:29
【问题描述】:

我正在使用 mysql 作为后端来开发 openshift tomcat 项目我正在尝试连接数据库,但它没有连接并显示错误消息 “通信链接失败最后一个发送到服务器的数据包是 0 毫秒前” 我已使用此代码连接数据库

try{
            Class.forName("com.mysql.jdbc.Driver");
            }catch(ClassNotFoundException ex){
                //return(ex.getMessage());              
            }
            con = DriverManager.getConnection(MYSQL_DATABASE_HOST,MYSQL_USERNAME,MYSQL_PASSWORD); 

        } catch (Exception ex) {

            return(ex.getMessage());
        }
        return "success";

当我打印 System.getenv("OPENSHIFT_MYSQL_DB_HOST"); 时,我通过硬编码数据库 IP 和端口提供了数据库 URL; 我得到了空值。请告诉我错误

【问题讨论】:

  • 您能检查一下您装备中的环境变量吗?使用 ssh 连接,然后: env | grep OPENSHIFT_MYSQL_DB_HOST
  • 您能否再扩展您的答案?请分享任何可用的演示链接或文档
  • 查看此链接以了解如何访问您的装备:developers.openshift.com/en/managing-remote-connection.html 之后,从控制台执行:env | grep OPENSHIFT_MYSQL_DB_HOST

标签: java mysql jsp tomcat openshift


【解决方案1】:

当您的 java 代码无法连接到 MySQL 服务器时,就会出现您面临的问题。还有另一种方法,检查您的 MySQL 是否已启动并正在运行。您可以通过

获取您的 MySQL 服务器的 ip
rhc port-forward -a <mysql_gear_name>

然后您可以在 DriverManager.getConnection 中明确地提供该 IP

【讨论】:

    【解决方案2】:

    在命令行中,运行 rhc port-forward 以直接访问数据库或内部端口。

    例如:

    rhc port-forward -a <name of the gear including mysql db>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多