我无法通过 fortrabbit 上的终端访问 mysql。我按照所有步骤操作,但它拒绝了我的密码。但是我可以通过 ssh 定期登录并编辑我的应用程序。有人有这个问题吗?谢谢。
1 回答
我过去使用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
的默认模式应该是什么(可以留空)。
然后,无论您身在何处,都应该连接!