通过HTTP或HTTPS连接到MySQL数据库的Java

时间:2017-06-15 08:27:04

标签: java mysql database tunneling http-tunneling

我正在处理一个小项目,但我遇到了问题。 防火墙阻止了Mysql协议,我能够使用的唯一端口是80或443.有没有办法通过这些端口连接到我的数据库?我正在使用mysql-connector库来连接java。

3 个答案:

答案 0 :(得分:0)

您可以更改MySQL的端口。 更改/etc/mysql/my.cnf

中的端口

示例:

cp /etc/mysql/my.cnf /etc/mysql/my-3307.cnf
//edit my-3307.cnf, for example
port = 3307
basedir = /var/lib/mysql-3307
datadir = /var/lib/mysql-3307
//end-edit
mysql_upgrade --defaults-file=/etc/mysql/my-3307.cnf #checks the syntax and creates the dirs you need.
#start mysqld
mysqld --defaults-file=/etc/mysql/my-3307.cnf

来源:http://dev.mysql.com/doc/refman/5.1/en/multiple-servers.html

PS: 443是默认的https端口。不建议使用此和80(http)端口。

答案 1 :(得分:0)

也许您可以将MySQL端口更改为443;

但是,我认为这很糟糕......

答案 2 :(得分:0)

我建议您在443端口上设置SSH服务器,并使用它来调整数据库和任何其他服务的流量。 以下是如何将流量从本地计算机隧道传输到远程数据库的方法:

ssh -L 9000:localhost:3307 user@1.2.3.4 -p 443

现在您可以连接到数据库,就像您在localhost:9000上本地运行它一样。您到SSH服务器的所有流量都已加密。请查看此article以获取其他示例。

您还可以查看chisel项目,但我对此并不熟悉。