TrevDred
TrevDred

Reputation: 109

Connect MySQL database behind firewall

There is a server I wish to connect to. It has multiple VMs running on it each VM has a mysql DB. I can currently connect to this server using ssh and then connect to any of the databases from each VM using mysql -u user -h host -p password. Now I want to connect to the same MySQL DBs using MySQL workbench from my local machine. However there is firewall, currently I use putty to get passed the firewall with public private key authentication and I can access any machine I want. I have seen here that I must install a MySQL server locally ( I've done this I am using mysql workbench) and use the loop-back address, in that way you don't need to access an external server. Could anyone point in the right direction on how to do this?

Upvotes: 1

Views: 1643

Answers (3)

Mike Lischke
Mike Lischke

Reputation: 53307

You don't need any additional software for this task. MySQL Workbench can create SSH tunnels on its own. Watch my tutorial on Youtube how to create connections: https://www.youtube.com/watch?v=DCgRF4KOYIY.

It essentially comes down to creating the right connection type. There is a drop down that allows you to select an SSH connection. Enter the parameters which you used to connect via Putty.

enter image description here

Upvotes: 1

Steve E.
Steve E.

Reputation: 9343

You need to use ssh tunnelling.

In putty under the options go to Connection->SSH->Tunnels. Add a tunnel from source port 13306 to Destination localhost:3306.

You can do this in Putty either before or after you connect. It's best to do beforehand and save the session configuration otherwise it gets tedious having to re-enter the settings.

In MySQL workbench connect to localhost port 13306.

There is a good guide with screen shots here: Setting up an SSH tunnel with PuTTY

An SSH tunnel makes a TCP port on your SSH client machine and directs any traffic to whatever the destination is set to. You can add multiple tunnels, but each one must listen on a different source port number.

Upvotes: 2

Michael Y.
Michael Y.

Reputation: 661

You can forward the port via SSH.

ssh -NL is your friend like so:

ssh -NL 3306:localhost:3306 <yourserver>

Then you can point your workbench at localhost.

Upvotes: 1

Related Questions