用于openshift的rhc命令Mysql ip

时间:2014-02-02 13:19:52

标签: php mysql openshift openshift-client-tools

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

Example Command Line screenshot

3 个答案:

答案 0 :(得分:3)

您可以使用以下命令打印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/

答案 1 :(得分:1)

您可以插入应用并运行env | grep MYSQL

答案 2 :(得分:0)

在ssh进入您的应用后,使用命令rhc ssh <app>通过SSH进入您的应用,输入env | grep MYSQL,然后找到OPENSHIFT_MYSQL_DB_HOST并复制您需要的值OPENSHIFT_MYSQL_DB_HOST = 56********************43-<domain>.rhcloud.com第二部分,56********************43-<domain>.rhcloud.com,当你仍然在应用程序的shell(ssh)中时,ping你刚才得到的地址ping 56********************43-<domain>.rhcloud.com。生成的IP是MYSQL服务器IP。我通常使用连接到ip的OPENSHIFT_MYSQL_DB_URL端口。

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

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

该值类似于此OPENSHIFT_MYSQL_DB_URL=mysql://<MySQLusername>:<MySQLpassword>@56********************43-<domain>.rhcloud.com:61836

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

祝你好运!