一尘不染

使用Java通过SSH连接到远程MySQL数据库

mysql

如何从Java应用程序通过SSH连接到远程MySQL数据库?小代码示例对我有所帮助,对此我将不胜感激。


阅读 1076

收藏
2020-05-17

共1个答案

一尘不染

我的理解是,您想访问在远程计算机上运行的mysql服务器,并通过SSH隧道侦听端口3306。

要使用命令行ssh客户端从本地计算机上的端口1234到远程计算机上的端口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连接。

2020-05-17