Online Documentation for Data Import for MySQL

HTTP tunneling options


HTTP tunneling is a method that allows connect to a database and transmit data between the program and a MySQL server through the HTTP/HTTPS protocols using port 80, which is used by a regular internet browser. This method is used to connect to the remote MySQL server of a hosting company when direct connection is not available because of the security reasons. The HTTP tunnel works the following way: all outgoing queries and commands sent by the client's software are encoded and transmitted through the HTTP/HTTPS protocol using port 80 to the special script that decodes the received data, sends it to MySQL server for processing and then sends the result back. This method requires the HTTP server (Apache) and PHP with MySQL to be installed on the remote server. Normally this software is provided by a hosting company that offers Linux hosting solutions. Also you need to upload the special emsproxy.php script to your web-server to access it remotely (you can place it to the folder with your other PHP scripts). If your web-server complies with the requirements and the script is installed correctly, you'll see the message "EmsProxy v 2.3" (version number can be different) in your browser when opening the https://<your_webserver_name>/emsproxy.php page.

 

To use HTTP tunneling, just upload the tunneling script to the webserver where MySQL server is located, or to any other webserver from which direct connections to your MySQL server are allowed. This script exposes the MySQL API as a set of web-services used by Data Import for MySQL.

 

In case of using this connection method the response will be slower as compared to the direct connection or the SSH Tunneling method, since the data are XML encoded and HTTP is stateless by nature. However, all the features of Data Import for MySQL are available.

 

Note that the emsproxy.php script file is included into the distribution package and can be found in Data Import installation directory.

 

Appendix - HTTP tunneling options