通过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项目,但我不是很熟悉它。