ViniHost Logo

How to Set Up a Remote MySQL Connection

Overview

This article describes how to use a local computer to connect to your MySQL databases stored remotely on ViniHost servers.

Table of Contents

Choose a Remote MySQL Connection Method

You can use either of the following methods to access your MySQL databases remotely:

  • SSH Tunnel: This is the more secure method. You set up an SSH tunnel that forwards a port on your local computer to the remote MySQL server. The MySQL traffic is encrypted by the SSH tunnel.
  • Direct Connection: You can set up a direct connection between your local computer and the remote MySQL server. Although this method is easier to configure, it is not as secure. Additionally, your local site must have a dedicated (static) IP address. A local site using a dynamic IP address will lose MySQL access when a new IP address is assigned.

If you want to use a direct connection, please open a support ticket on the ViniHost Customer Portal at my.a2hosting.com. In the ticket, specify that you want to enable inbound access to MySQL port 3306 for your account.

Method #1: Set Up an SSH Tunnel

The procedure you follow to set up an SSH tunnel between your local computer and the ViniHost server depends on the local computer's operating system.

Microsoft Windows

In order to use an SSH tunnel on a computer running Microsoft Windows, you need an SSH client program. ViniHost recommends using PuTTY, which you can download here.

To set up an SSH tunnel on a computer running Microsoft Windows:

  1. Start PuTTY.
  2. In the Category pane, expand Connection, expand SSH, and then click Tunnels.
  3. In the Source port text box of the Port Forwarding section, type 3306. This is the local port to forward.
  4. In the Destination text box, type localhost:3306.
  5. Confirm that the Local and Auto radio buttons are selected.
  6. Click Add.
  7. In the Category pane, click Session.
  8. In the Host Name (or IP address) text box, type your web site's domain name or IP address.
  9. In the Port text box, type 7822.
  10. Confirm that the Connection type radio button is set to SSH.
  11. Click Open.

If a PuTTY security alert about the server's host key appears, click Yes.

When the login as prompt appears, type your ViniHost username, and then type your password. When the remote server's command line prompt appears, the SSH tunnel is established and you can use your MySQL client applications on the local computer.

Method #2: Set Up a Direct Connection

To set up a direct connection between your local computer and the MySQL server, you must first do three things:

  1. Confirm you will be connecting from a dedicated (static) IP address.
  2. Open a support ticket on the ViniHost Customer Portal at my.a2hosting.com. In the ticket, specify that you want to enable inbound access to MySQL port 3306 for your account.
  3. Enable remote MySQL access for your IP address in cPanel. For information about how to do this, please see this article.

Example ODBC Connection

The following procedure demonstrates how to configure a remote ODBC connection:

  1. Launch the ODBC Data Source Administrator.
  2. Click Add to add a new data source.
  3. In the Create New Data Source dialog box, click the MySQL ODBC driver.
  4. Click Finish to start the MySQL Connector/ODBC Data Source Configuration.
  5. On the MySQL Connector/ODBC Data Source Configuration dialog box, in the Data Source Name text box, type a descriptive name for the data source.
  6. Confirm that TCP/IP Server is selected.
  7. If you are using an SSH tunnel, in the TCP/IP Server text box, type localhost. If you are using a direct connection, type the domain or IP address of the remote server.
  8. In the Port text box, type 3306.
  9. In the User text box, type a database username that can connect to the remote database.
  10. In the Password text box, type the password for the username.
  11. To test the connection, click Test.
  12. Optionally, you can use the Database list box to select an initial database for the connection.
  13. To complete the configuration, click OK.

Troubleshooting

If you are doing development work on the local computer, a local copy of MySQL may already be running on port 3306. In this case, a connection error may appear.

To work around this issue, create a tunnel with an alternate local port, and then connect to the remote MySQL server on that port.

If you use PuTTY to create the tunnel, use an alternate Source port on the Tunnels configuration page. In this example, port 3307 is being used:

For Mac OS X or Linux, use the following SSH command to create the tunnel with a local port of 3307:

ssh -p 7822 username@example.com -L 3307:localhost:3306

Create the ODBC connection as previously described, but type 3307 in the Port text box (instead of 3306).

More Information

To view the online documentation for PuTTY, please visit here.

Get Email Hosting

Experience the ViniHost difference today and get a pre-secured, pre-optimized website. Check out our web hosting plans today.