我无法通过fortrabbit上的终端访问mysql。我按照所有步骤,但它拒绝了我的密码。但是我可以通过ssh进行规则登录并编辑我的应用程序。有谁有这个问题?感谢。
答案 0 :(得分:2)
我过去使用SSH tunnel解决了这个问题。打开到服务器的SSH隧道,然后从该隧道的端点连接到MySQL服务器。因此,对于MySQL,您似乎是在本地连接。
来自终端:
首先你需要打开隧道,你可以这样做:
ssh -N -L8889:127.0.0.1:3306 username@your.fortrabbit.domain.com &
这将打开端口8889,然后打开到your.fortrabbit.domain.com
的隧道,然后将该本地端口通过隧道转发到IP 127.0.0.1和端口3306 relative 到your.fortrabbit.domain.com
的服务器。
更详细的选项:
-N
:不要执行远程命令
-L
:指定端口(本地和远程)
8889
:您转发的本地端口
127.0.0.1
:您转发的远程IP,相对于ssh连接到的服务器
3306
:您要转发的远程端口
username@your.fortrabbit.domain.com
:您的用户名和域名为fortrabbit。
现在您已准备好打开连接。在同一终端中,使用以下命令:
mysql -h 127.0.0.1 -P 8889 -u mysql-username -p
端口8889现在被转发到fortrabbit端的MySQL服务器的端口和IP,所以只需用mysql服务器上的用户名替换mysql-username
,就可以连接了!
来自GUI:
您在评论中提到您正在使用Ubuntu,因此请从软件中心或here安装MySQL Workbench,创建New Connection
并选择连接类型为" { {1}}"
您需要配置以下内容:
Standard TCP/IP over SSH
:带有fortrabbit的ssh帐户的主机名或IP
SSH Hostname
:您的用户名与他们相同
SSH Username
:您的密码与他们相同
SSH Password
:如果您使用密钥进行身份验证,请在此处选择私有密钥
SSH Keyfile
:127.0.0.1(因为它是您隧道端点的本地。
MySQL Hostname
:通常" 3306"。
MySQL Server Port
:数据库的用户名
Username
:数据库的密码
Password
:该数据库的默认架构应该是什么(可以留空)。
然后应该从任何地方进行连接!