2017-06-15 2 views
-1

Ich arbeite an einem kleinen Java-Projekt und ich habe ein Problem. Das Mysql-Protokoll wird von der Firewall blockiert und die einzigen Ports, die ich verwenden kann, sind 80 oder 443. Gibt es eine Möglichkeit, über diese Ports eine Verbindung zu meiner Datenbank herzustellen? Natürlich benutze ich die mysql-connector-Bibliothek für Java, um eine Verbindung herzustellen.Java-Verbindung zu MySQL-Datenbank über HTTP oder HTTPS

Antwort

0

Sie können den Port von MySQL ändern.

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 

Quelle

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

PS: 443 Standard-HTTPS-Port den Port /etc/mysql/my.cnf

Beispiel in verändern. Es ist nicht ratsam, diesen und 80 (http) -Port zu verwenden.

0

Vielleicht können Sie den MySQL-Port zu 443 ändern;

Aber ich denke, es ist schlecht ...

0

empfehle ich Ihnen die Einrichtung SSH-Server auf Port 443 und verwenden Sie es für tunelling Traffic auf Ihre Datenbank und alle anderen Dienste. Hier ist, wie Sie Tunnelverkehr von Ihrem lokalen Computer zu Remote-Datenbank können:

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

Jetzt können Sie zur Datenbank verbinden, wie Sie es auf localhost:9000 lokal ausgeführt haben. Ihr gesamter Datenverkehr zum SSH-Server ist verschlüsselt. Überprüfen Sie diese article für ein anderes Beispiel.

Sie können auch überprüfen chisel Projekt, aber ich bin nicht sehr vertraut mit ihm.