尝试为 MySQL 查询浏览器设置到 MySQL 服务器的 SSH 隧道

尝试为 MySQL 查询浏览器设置到 MySQL 服务器的 SSH 隧道

我正在尝试在远程 Web 服务器上设置到另一台 MySQL 服务器的 SSH 隧道,以便可以使用 MySQL 查询浏览器轻松浏览数据库。我正在关注此页面,但无法连接到 MySQL 服务器。http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

我做了什么:

  1. 通过 SSH 使用 Putty 登录到 Web 服务器。
  2. 输入ssh -L 33060:[database]:3306 [myusername]@[webserver_address][...] 后,实际信息会发生变化。
  3. 系统要求我输入密码,输入密码后收到以下消息。看来登录成功了。

    套接字:协议不受支持

    上次登录:.... 2012 年来自.... 版权所有 (c) 1980、1983、1986、1988、1990、1991、1993、1994 加利福尼亚大学董事会。保留所有权利。

    FreeBSD 7.1-发布....

    欢迎来到 FreeBSD!

  4. 在 Windows 中打开 MySQL 查询浏览器并输入

Server Host:本地主机 Port:33060 UserName: 我的用户名 PassWord: 我的密码

经文说,

Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)

抱歉,这太基础了。谢谢您的信息。

答案1

由于您想要从使用 Putty 的 Windows 主机访问远程系统,因此您需要在 Putty 内创建隧道,而不是在远程系统上创建隧道。

在 Putty 中设置隧道非常简单。

  • 打开腻子
  • 如果有的话,加载您的保存会话,或者输入任何连接信息。
  • 向下滚动到连接 -> SSH -> 隧道
  • 将源端口设置为33060
  • 将目标设置为数据库服务器的 IP,后跟:3306mysql 端口。因此类似于192.168.1.1:3306
  • 点击“添加”
  • 单击返回会话选项卡,然后选择保存,或者单击打开即可开始连接

腻子隧道页面

一旦连接,启动数据库应用程序并从应用程序尝试连接到正在监听的服务器127.0.0.1:33060

答案2

编辑:刚刚看到您使用了错误的连接字符串:

ssh -L 33060:[database]:3306 [myusername]@[webserver_address

尝试:

ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address

-4 选项强制使用 IPv4,并且 localhost 是绑定端口的目标(在您的情况下必须是 localhost)

使用 localhost:33060 和远程凭据进行连接。

那应该可行!

否则,请检查服务器 ssh 守护进程配置:

AllowTcpForwarding yes

否则使用该ssh -vv user@host选项连接到您的服务器,这将为您带来更多信息,如果您看到绑定端口失败至少您应该看到原因。

相关内容