【问题标题】:rhc command for openshift Mysql ipopenshift Mysql ip的rhc命令
【发布时间】:2014-02-02 13:19:52
【问题描述】:

我需要 Mysql IP 用于自定义 wordpress 安装,因为它不支持“localhost”mysql 主机地址。在 rhc 窗口客户端中,我使用端口转发命令 rhc port-forward -a appname 但它显示 HAPROXY 的 openshift IP 地址和 httpd 不用于Mysql.how to find openshift MYSQL IP.link for port-forward rhc 命令结果 iamge

【问题讨论】:

    标签: php mysql openshift openshift-client-tools


    【解决方案1】:

    您可以使用以下命令打印 MySQL <ip>:<port>

    rhc ssh <app> 'echo $OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT'
    

    但是,建议使用 OpenShift 的环境变量而不是硬编码的数字,因为它们是通用的,因此在将应用程序从一个齿轮迁移到另一个齿轮时不需要更改任何内容:

    /* Environment variables exposed by MySQL database cartridge */
    define('DB_HOST', getenv('OPENSHIFT_MYSQL_DB_HOST')); // 127.0.250.1
    define('DB_PORT', getenv('OPENSHIFT_MYSQL_DB_PORT')); // 3306
    define('DB_USER', getenv('OPENSHIFT_MYSQL_DB_USERNAME')); // admin
    define('DB_PASS', getenv('OPENSHIFT_MYSQL_DB_PASSWORD')); // 8ddTnst22X3Y
    define('DB_NAME', getenv('OPENSHIFT_APP_NAME')); // myapp
    define('DB_SOCKET', getenv('OPENSHIFT_MYSQL_DB_SOCKET')); // $OPENSHIFT_MYSQL_DIR/socket/mysql.sock
    define('DB_STRING', getenv('OPENSHIFT_MYSQL_DB_URL')); // mysql://admin:8ddTnst22X3Y@127.0.250.1:3306/
    

    【讨论】:

    • vojtech vitek,我也使用 rhc ssh 'echo $OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT' 命令。但它给了我相同的结果 52eee....-upme.rhcloud.com:37501。是否存在将 IP 分配给 Cartidge 的顺序?如果是,则 MYSQL 的 IP 将被查找为 HAPROXY 的 IP 地址,并且 httpd 是已知的
    【解决方案2】:

    您可以通过 ssh 进入您的应用并运行 env | grep MYSQL

    【讨论】:

    • 我如何通过 ssh 进入应用程序我已经将公钥上传到 openshift 帐户
    • 从你的应用程序目录运行rhc ssh -a &lt;appname&gt;
    • 在 ssh 进入应用程序后我如何输入 env | grep MYSQL 我的键盘没有像 |在 ssh 进入应用程序后,粘贴功能在 cmd 中不起作用
    • 在 app 中输入 ssh 的 mysql 命令后。它打开一个交互式 MySQL shell。用什么命令来查找 mysql openshift IP?
    • 在 env|grep MYSQL 命令结果后仍然没有显示 IP 地址:(imgur.com/pecVtIk
    【解决方案3】:

    使用命令rhc ssh &lt;app&gt; SSH 进入您的应用程序,然后输入env | grep MYSQL 然后找到OPENSHIFT_MYSQL_DB_HOST 并复制它具有类似OPENSHIFT_MYSQL_DB_HOST = 56********************43-&lt;domain&gt;.rhcloud.com 的值,您需要第二部分,即@987654325 @ 然后当您仍在应用程序的外壳 (ssh) 中时,ping 您刚刚获得的地址 ping 56********************43-&lt;domain&gt;.rhcloud.com 。生成的 IP 是 MYSQL 服务器 IP。我一般使用OPENSHIFT_MYSQL_DB_URL中的端口附在ip上。

    这可能(不确定)在不同的应用程序中有所不同。

    您可以从我上面描述的env | grep MYSQL 命令中提取OPENSHIFT_MYSQL_DB_URL 的值。

    值类似于OPENSHIFT_MYSQL_DB_URL=mysql://&lt;MySQLusername&gt;:&lt;MySQLpassword&gt;@56********************43-&lt;domain&gt;.rhcloud.com:61836

    您也可以从这里提取所有必需的信息。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-29
      • 2023-03-19
      • 1970-01-01
      • 2016-04-30
      • 2023-03-19
      • 1970-01-01
      • 2014-10-18
      • 2015-05-04
      相关资源
      最近更新 更多