我正在寻找一种从我的localhost:8081(jasperserver)连接到我的mysql数据库所在的远程服务器的方法。我在MySQL Workbench中通过SSH(只有这种方式)连接数据库,它运行良好。 我做了很多研究,我发现我需要在我的本地机器上建立一个SSH隧道,但是怎么做呢?如何通过ssh连接到我的jasperserver?它让我拒绝连接'当我尝试ssh localhost:8081。我已经为windows安装了openssh。 我也尝试过Pentaho,它的工作方式类似于jasper,连接方法也是一样的。 感谢...
答案 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:3306
或127.0.0.1:3306
连接到您的数据库。
隧道正在做的是使用代理计算机作为中继,将流量重定向到本地计算机上的端口3306到远程数据库服务器的端口3306。