首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过非标准端口的ssh上的mysql

问通过非标准端口的ssh上的mysql
EN

Stack Overflow用户
提问于 2011-07-09 03:18:45
回答 1查看 1.5K关注 0票数 1

我在计算机A上运行mysql,可以作为A~ $ mysql -u punkish -p database连接到它,依此类推。

我可以访问计算机B,该计算机上也运行着mysql。在设置了ssh密钥对的情况下,我可以通过端口2200 ssh进入B,一旦进入,我就可以像这样连接到数据库

代码语言:javascript
复制
A~ $ ssh -p 2200 punkish@B
B~ $ mysql -u punkish -p database

但是,我想在我的计算机上通过ssh设置端口转发,这样我的计算机A上端口3307上对mysql的所有请求实际上都会发送到B上的端口3306。这将允许我使用gui程序,该程序想要连接到mysql,但不能通过隧道进行连接。因此,我执行以下操作

代码语言:javascript
复制
A~ $ ssh -p 2200 -L 3307:B:3306 punkish@B
B~ $

上面的命令将我直接登录到B。我不确定隧道是否已建立,但我假设它已建立。但是,以下命令会失败(在另一个终端中

代码语言:javascript
复制
A~ $ mysql -P 3307 -u punkish -p
Enter password:
ERROR 1045 (28000): Access denied for user 'punkish'@'localhost' (using password: YES)

有趣的是,我有另一个名为Sequel Pro的gui程序( Mac的桌面MySQL客户机),它可以通过ssh连接到mysql@B。所以我知道有些东西是有效的..。我只是不知道怎么做,所以我也许可以在另一个gui程序中启用它。

EN

回答 1

Stack Overflow用户

发布于 2011-07-09 03:21:28

如果您不指定主机名,mysql通常会尝试使用套接字文件。因此,作为mysql命令的一部分,指定-h 127.0.0.1 (注意,我没有说本地主机,它对它们的处理方式不同)。这基本上强制TCP连接,而不是套接字文件连接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6629353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档