当前位置: 首页 > 面试题库 >

通过SSH隧道的MySQL连接-如何指定其他MySQL服务器?

焦宁
2023-03-14
问题内容

我已经在不同的主机名上设置了约50个数据库,并要求我通过SSH隧道连接到它们。

例如:

  • SSH主机位于 ssh.example.com

  • MySQL主机位于 mysql1.example.com

我已经设法使用autossh(运行Debian的Web服务器)创建隧道,但是我似乎无法弄清楚如何连接到SSH隧道之外的特定MySQL主机名。

键入lsof -i -n | egrep '\<ssh\>'确认隧道正在运行(将端口3307发送到ssh.example.com端口3306)

所以当我尝试时,mysql -h 127.0.0.1 -P 3307我会拒绝连接。不太奇怪,因为它不是MySQL服务器。

我对你们的问题:

mysql1.example.com创建SSH隧道后如何指定主机?我曾尝试到处搜索,但似乎无法弄清楚。


问题答案:

解决了!事情是在创建隧道本身时连接到正确的服务器-应该已经看到一台即将到来的服务器。

ssh -f user@ssh.example.com -L 3307:mysql1.example.com:3306 -N

然后mysql -h 127.0.0.1 -P 3307按预期工作。:)



 类似资料:
  • > 上的SSH主机 位于的MySQL主机 我已经设法使用autossh(运行Debian的web服务器)创建了隧道,但我似乎不知道如何连接到SSH隧道之外的特定MySQL主机名。 创建SSH隧道后,如何指定主机?我到处都找过了,但似乎找不到。

  • 问题内容: 我已经在两个服务器 A 和 B 之间建立了SSH隧道。 B 有MySQL服务器,这可行: 虽然这不是: 尽管my.cnf具有以下几行: 现在关于隧道。它连接以下内容: 但是当(在 A上 ,端口转发)时,我会 我懂了 当我这样做 我懂了 可能是什么原因?我究竟做错了什么? 问题答案: 这里有三个问题。 1-暂时忘记SSH隧道 您不能将MySQL绑定到多个特定IP。第一个子句被第二个子句覆

  • 我想通过ssh隧道与具有localhost访问权限的用户连接到远程MySQL。 我用这个做隧道: 和这个连接到主机: 我得到的错误是: 问题是用户“user”@“remote-host”(或“user”@“%”)不存在,只有“user”@“localhost”存在。 有没有办法强迫远程主机在不进行服务器端修改的情况下认为我来自本地主机?这是我通过ssh隧道进行连接的唯一原因。 注: 如果要连接此命

  • 同时,我尝试使用mysql workbench进行连接,它会立即拒绝连接。让我想,它甚至连连接ssh tunel的机会都没有,在本地被拒绝了。

  • 我将Spring Data JPA与Hibernate一起作为持久化提供程序,并将远程MySQL5服务器用于定期复制内部数据子集的作业。该作业(即Quartz调度的java应用程序)每个dai运行一次,大约需要。30秒完成同步)。出于安全原因,我们不想打开远程服务器进行外部直接连接(即。本地主机以外)。 我已经看到了使用Jsch以编程方式设置ssh隧道的示例,但无法找到关于如何将Jsch与spri

  • 问题内容: 我想在ssh上建立到我的mysql服务器的ssh隧道。 理想情况下,就像我直接连接一样,我将返回一个mysqli db指针。 我在没有SSH2库的共享主机上,但是我可以使用PECL在本地安装它们。 如果有一种方法可以使用本机命令,那就更好了。 我当时在想类似的东西,但是如果没有这些库,它将无法正常工作。 谁有想法?我正在liquidweb上运行共享的CentOS linux主机。 关于