无法通过终端访问fortrabbit mysql数据库(ssh)

时间:2014-01-09 17:06:20

标签: mysql ssh laravel fortrabbit

我无法通过fortrabbit上的终端访问mysql。我按照所有步骤,但它拒绝了我的密码。但是我可以通过ssh进行规则登录并编辑我的应用程序。有谁有这个问题?感谢。

1 个答案:

答案 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 :该数据库的默认架构应该是什么(可以留空)。

然后应该从任何地方进行连接!