Mysql连接到VLAN外部的外部/远程服务器

时间:2012-04-18 13:15:53

标签: php mysql linux vpn

我正在尝试从运行我的应用程序的vlan中的计算机连接到外部mysql服务器。远程服务器不是vlan的成员。以下是我到目前为止所尝试的内容。

从我的vlan服务器转发Mysql端口

ssh -L 3306:my-vlan-server-ip:3306 user-at-external-server@external-server-ip

在这种情况下,我收到一条ssh超时消息。 试图直接从我的php mysql_connect做到这一点我得到mysql错误#111但我已经编辑了 my.cnf

#skip-networking
bind-address  =my-vlan-server-ip

我的php db连接脚本

<?php
$conn=mysql_connect("external-server-ip","user","pass");
if($conn)
{
echo "success";
}
else
{
echo "fail";
}
?>

请有人帮忙。让我知道我哪里出错了。感谢。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你在vlan服务器上运行ssh客户端(= my-vlan-server-ip)?

本地隧道(-L)基本上将第一个端口转发到给定地址上的给定端口,即-L 80:someserver:8080将本地计算机上的端口80转发到某个服务器上的端口8080 ...所以如果你想要通过ssh连接到远程服务器上的3306:

ssh -L 3306:external-server-ip:3306 user-at-external-server @ external-server-ip (或只是-L 3306:localhost:3306,localhost将引用您要连接的服务器,即external-server-ip)

localhost:3306然后转发到external-server-ip:3306

在my-vlan-server-ip上运行的php脚本中,然后连接到localhost:3306,然后通过ssh转发到external-server-ip ...