我需要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
答案 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)
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
您也可以从这里提取所有必需的信息。
祝你好运!