View Single Post
  #2 (permalink)  
Old 07-12-2009, 03:21 PM
Spiral's Avatar
Spiral Spiral is online now
Registered User
 
Join Date: Jun 2005
Location: Area 51
Posts: 1,501
Spiral is on a distinguished road
Post

Well for starters, you must be using the wrong settings to connect
because you generated a socket error and remote database connections
use direct TCP network connections instead of system sockets which
incidentally is the method commonly used for reading from localhost.

Second, if you have any firewall setup on either machine, you need to
make sure you have TCP communications open for port 3306 else you
won't be able to make any database connections

You can also check your "skip_networking" setting on the machine
running the database server you are trying to reach and make sure
it is turned OFF or you won't be able to connect remotely:
Code:
mysql> show variables like 'skip_networking';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | OFF   |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> quit
In your my.cnf, if you have a bind-address pointing to 127.0.0.1,
you need to delete that line or reset it for an actual external network IP
else you again won't be able to connect remotely.

Now jumping topics a bit, generally speaking remote MySQL connections
are a very bad idea for both security and performance reasons. Network
instability common throughout the internet can cause substantial performance
impairments for your server which will slow down and wait for responses
whenever there is any kind of network issues and can impact the entire
operation of your server well beyond just the database server.

In the few instances where you might actually have no choice but to run
a remote connection, as is the case for successfully running fully live
mirrored sites for example, then you would want to limit connections only
to the IP of the server authorized to connect specifically. NEVER A WILDCARD!

Opening up the database server to allow connections from everywhere is
not only a bad idea, it's just plain stupid from a security standpoint!

Last edited by Spiral; 07-12-2009 at 03:25 PM.
Reply With Quote