我正在使用openshift免费套餐(3档)。我的可伸缩应用程序使用PHP和MySQL。但是没有可用的3个齿轮可扩展应用程序的phpMyAdmin凭据,我很难访问Mysql表条目。我的问题是可以通过本地安装的wamp phpMyAdmin来使用Openshift的端口转发功能来访问openshift Mysql。
答案 0 :(得分:6)
是的,可以使用端口转发从本地安装的PhpMyAdmin访问您的OpenShift数据库。
首先,确保您的计算机上安装了Redhat客户端工具(RHC)。如果还没有,请在此处下载:https://www.openshift.com/developers/rhc-client-tools-install。
要通过SSH连接,您需要一个公钥/私钥对。当您运行rhc setup
时,RHC可以再次为您自动执行大部分操作。该应用程序将询问您的凭据,可选择为您创建SSH密钥并将其上载到您的磁带。确保使用安全密码保护您的SSH密钥。在https://www.openshift.com/developers/remote-access。
您需要一个SSH客户端。 OpenShift为Windows用户推荐Putty;详细的设置说明可在https://www.openshift.com/page/install-and-setup-putty-ssh-client-for-windows找到。此外,我建议从Cygwin安装OpenSSH,因为这样可以在以后更容易地将端口转发到您的数据库。
使用Putty和SSH密钥通过SSH连接到您的服务器。进入shell后,键入env
以查看服务器上的环境变量列表。查找以_DB_HOST
,_DB_PORT
,_DB_USERNAME
和_DB_PASSWORD
结尾的变量,并在Windows计算机上记下它们的值。所有这些环境变量的名称和含义在https://access.redhat.com/site/documentation/en-US/OpenShift_Online/2.0/html/User_Guide/Database_Environment_Variables.html中描述。
要转发端口,请使用Cygwin的ssh
命令。例如:
ssh -f user@my-app.openshift.com -L 3307:DB_HOST:3306 -N
您必须将user
替换为您的OpenShift用户名,my-app.openshift.com
使用您的公共OpenShift主机名,将DB_HOST
替换为您查看的..._DB_HOST
环境变量中的IP地址之上。如果此命令成功,您现在应该在OpenShift上有一个从本地端口3307到MySQL服务器的隧道。因此,您可以在PhpMyAdmin的配置中创建一个新的数据库连接,其中127.0.0.1作为服务器,3307作为端口和您的凭据,这是您通过SSH运行env
命令时获得的。
答案 1 :(得分:3)
您可以使用rhc port-forward命令,类似于我在此处描述的内容:OpenShift: How to connect to postgresql from my PC
答案 2 :(得分:3)
在使用Putty打开会话之前,请转到Connection - > SSH - > Tunneling。
添加一个端口,例如3333.并将远程mysql服务器和端口的URL设置为目标,例如:324324343455435435-yourservices.rhcloud.com:44351。单击“添加”按钮。保存您的会话并进行连接。
一旦连接,您可以使用任何客户端,并使用env vars给出的用户,密码和数据库名称连接到端口3333上的localhost,正如其他人所说的那样。 我没有问题就连接Toad for Mysql。
答案 3 :(得分:0)
而不是来自webyog的phpmyadmin.SQLyog有ssh隧道选项。哪个适用于远程访问openshift mysql