我的理解是,您希望访问在远程机器上运行的mysql服务器,并通过SSH tunel 监听端口3306.
要使用命令行ssh客户端从本地机器上的端口1234创建这样一个 tunel 到远程机器上的端口3306,您可以从本地机器上键入以下命令:
ssh -L 1234:localhost:3306 mysql.server.remote
要在Java中做同样的事情,可以使用JSch,这是SSH2的Java实现.从其网站:
JSch允许您连接到sshd服务器并使用端口转发、X11转发、文件传输等,您可以将其功能集成到自己的Java程序中.JSch根据BSD风格的许可证获得许可.
例如,看看PortForwardingL.java
.连接会话后,使用jdbc:mysql://localhost:1234/[database]
之类的连接URL创建到MySQL的JDBC连接.