tags:

views:

103

answers:

4

I'm new to MySQL and I'm using a desktop DB management app called "Querious" to simplify the process while I learn.

I want to work on (mainly just structure & basic population) a database that's hosted elsewhere, but the host won't allow any remote MySQL calls on their server.

What is their reasoning for restricting MySQL calls to localhost only? Is this a security or a performance concern?

A: 

This is a security concern. The idea is that if people can't remotely connect, they have to compromise the system. Not just the files that hold the database information.

You may be able to request that just add your IP address to a trusted host file, but I doubt they'll do that either.

It's fairly common practice to not allow remote DB connections

Dave Morgan
But if they do compromise the file and get my DB login and can go crazy destroying my DB, they're still only going to affect my site's data, correct? There's not a risk that they'll access any other aspects/areas of that server that contain anyone else's data...
Distill
Its possible for them to find an exploit to attack other data or the system itself. It's all a matter of how secure the DB instance is.
Dave Morgan
As luck would have it, my own re-seller server space on HostGator just got hacked today, ONE day after asking this question. Don't believe I had any open MySQL calls set up there, but the coincidence is striking... my site and 4 of my client sites hacked (overtly) only two of which even had any MySQL DBs set up at all.Take from that lesson what you will... : (
Distill
It seems the hackers didn't use MySQL calls, but had the password for my hosting account... not sure how, but it's an entirely different issue than I'd thought
Distill
A: 

I've run into this problem with GoDaddy where they implement this by default. You can change this, however, by indicating that you want to allow remote access. If you've already created your DB, though, you can't change it, so I would recommend creating a new DB and deleting your other one.

The reason why is for security. If only your app can call your DB, you don't have to worry about other people trying to access it.

Jason
A: 

Distill,

An improperly-configured MySQL instance is dangerous, whether the user is remote or local. This could allow malicious attackers to cause crashes or remote execution of arbitrary code (i.e., owning the machine).

Noah
A: 

You can use PuTTY to create a tunnel if it's allowed by the server so that your application traffic goes through ssh and then is forwarded to the correct port on localhost.

Peter