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

推荐答案

我的理解是,您希望访问在远程机器上运行的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连接.

Mysql相关问答推荐

MySQL没有使用S隐式附加到此二级索引的主键

为分组记录MySQL取取值为TRUE的单行

如何在MySQL中检索两列的值不同的行

如何将左联接的小计/总计行中的所有列作废

为什么嵌套循环逻辑不能按预期工作

SQL 请求:REPLACE 和通配符 %.如何做正确的事?

如何确保 SQL 记录的列不引用它自己的主键?

如何在 mysql 中获取 Day Wise 的平均值?

用数字和字母对 VARCHAR 列进行排序

MYSQL 或 Laravel Eloquent 如何从这个订单中统计细节

MySQL 工作台与 phpMyAdmin

MySQL Group By 和 Sum 其他列的总值

让 MySQL 在 OSX 10.7 Lion 上运行

phpmyadmin没有收到要导入的数据错误,如何解决?

计算执行的查询数

MySQL Partitioning / Sharding / Splitting - 走哪条路?

如何从两个不同的日期获得年份差异?

按 15 分钟间隔对 mysql 查询进行分组

如何通过一个语句描述数据库中的所有表?

MySQL讲解查询理解