Jaspersoft / Pentaho - 通过SSH连接到MySQL

时间:2014-09-30 10:39:15

标签: mysql ssh pentaho jasperserver ssh-tunnel

我正在寻找一种从我的localhost:8081(jasperserver)连接到我的mysql数据库所在的远程服务器的方法。我在MySQL Workbench中通过SSH(只有这种方式)连接数据库,它运行良好。 我做了很多研究,我发现我需要在我的本地机器上建立一个SSH隧道,但是怎么做呢?如何通过ssh连接到我的jasperserver?它让我拒绝连接'当我尝试ssh localhost:8081。我已经为windows安装了openssh。 我也尝试过Pentaho,它的工作方式类似于jasper,连接方法也是一样的。 感谢...

1 个答案:

答案 0 :(得分:3)

正确设置隧道的方法如下:

ssh <user>@<host that has access to database> -L <local port>:<db server>:<remote port>

然后您连接到localhost:<local port>

示例:您的数据库服务器db.mydomain.com在端口3306上运行,但您无法访问它。您首先需要ssh到另一台计算机myproxy.mydomain.com,作为用户&#34;用户名&#34;可以访问数据库服务器上的端口3306。在那台机器上,试试

mysql -h db.mydomain.com -P 3306 -u <your db username> -p<your db password> <db name>

验证对db的访问权限。然后从设置隧道开始:

ssh username@myproxy.mydomain.com -L 3306:db.mydomain.com:3306

建立SSH连接后,您可以使用网址localhost:3306127.0.0.1:3306连接到您的数据库。

隧道正在做的是使用代理计算机作为中继,将流量重定向到本地计算机上的端口3306到远程数据库服务器的端口3306。