Remote Access to Your MySql and PostgreSql Databases

I'm setting up a new Linode Cloud Server and it's been awesome so far. I installed both MySql and PostgreSql on it, so I'm good to go. I spend a lot of my development time in the database and I want to have my full range of expression with my databases in the cloud. I may be a fan of both the mysql and postgresql command prompts, but I want to work in a nice IDE like Navicat when I can.

There, isn't that sweet? I can work with both my Linode PostgreSql and MySql databases in Navicat as if they were on my hard drive.

We're going to connect to the Linode PostgreSql and MySql ports through an SSH Tunnel. And it's all done through a single command.

$ ssh -L 127.0.0.1:3307:127.0.0.1:3306 user@example.com -N

The first port is 3307. That's what most developers will use because we have MySql running locally. Otherwise if you did not have MySql running locally you would use the default MySql port of 3306. Change “user@example.com” with your SSH username and your server's hostname or IP address.  Don't make this hard like I did. There's no need to change your local or remote MySql port settings in /etc/mysql/my.cnf. Once you've setup SSH to access your Linode server the above command is all you need.

When you execute the ssh statement above, your prompt will just sit there. That means the connection is open and you're good to go.

Then in Navicat (or your database IDE of choice) you simply connect to port 3307 for the Linode MySql database. You can ignore the SSH tab. Completing the General tab form is all you need.

Hopefully this will help you enjoy working in your Linode databases more than with a command line alone.

Posted July 10, 2014 09:46 AM EDT

More Like This Post