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

问题描述:

我正在开发一个小型的java项目,并且遇到问题。 Mysql协议被防火墙阻止,我可以使用的唯一端口是80或443.有什么办法通过这些端口连接到我的数据库吗? Acutally我正在使用Java连接库的mysql连接器库。通过HTTP或HTTPS连接到MySQL数据库的Java连接

您可以更改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)端口。

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

但是,我认为这是坏...

,我建议你安装SSH服务器上的443端口,并使用它tunelling交通到您的数据库和其他服务。 这里是你如何能隧道流量从本地计算机到远程数据库:

ssh -L 9000:localhost:3307 [email protected] -p 443 

现在,您可以连接到数据库,就像你拥有了它localhost:9000本地运行。所有到SSH服务器的流量都被加密。查看article另一个例子。

您也可以检查chisel项目,但我不是很熟悉它。