1

我无法通过 fortrabbit 上的终端访问 mysql。我按照所有步骤操作,但它拒绝了我的密码。但是我可以通过 ssh 定期登录并编辑我的应用程序。有人有这个问题吗?谢谢。

4

1 回答 1

2

我过去使用SSH 隧道解决了这个问题。您打开一个到服务器的 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 。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-username在 mysql 服务器上替换为您的用户名,就可以连接了!

从图形用户界面:

您在评论中提到您使用的是 Ubuntu,因此从软件中心或此处安装 MySQL Workbench ,创建一个New Connection并将连接类型选择为“ Standard TCP/IP over SSH”。

您将需要配置以下内容:

SSH Hostname:您的 ssh 帐户的主机名或 IP 与 fortrabbit
SSH Username:您的用户名
SSH Password:您的密码
SSH Keyfile:如果您使用密钥进行身份验证,请在此处选择私有密钥。
MySQL Hostname:127.0.0.1(因为它是隧道端点的本地地址。
MySQL Server Port:通常是“3306”。:
Username数据库的用户名:数据库
Password的密码:该数据库
Default Schema的默认模式应该是什么(可以留空)。

然后,无论您身在何处,都应该连接!

于 2014-01-10T11:48:13.667 回答