Remote mySQL Database

Hi,

Tried to configure the database.yml file to point to a remote mysql
database but faced an error "Connection refused - connect(2)".

Here's a copy of my database.yml configuration.

development:
  adapter: mysql
  encoding: utf8
  host: <hostname>
  port: <portnumber>
  database: <databasename>
  username: <username>
  password: <password>
  socket: <socketpath>

Would appreciate any assistance in this area, as I can't seem to find
any articles on Ruby connecting to a remote mysql database. I'm sure
that the username and password works. Is there something that I might
missed out?

Thanks! = ]

Hi marTyN,

This post probably belongs on a MySQL mailing list, not a Rails one, but...

It appears that you need to configure the MySQL permissions on your remote database server to allow remote connections from your "originating" host (for the username/password combo you configure in your yml file). The other thing to check is that the firewall on your remote server allows incoming connections (on port 3306 - by default).

FYI,

Peter

WAG: remove the 'socket' entry

HTH,

Hi,

I have the exact same problem for connecting to remote DB.

1) This is not a mysql issue, as I can remotely connect to the server
user mysql-client

2) I don't have the host option in my database.yml

I made a typo, one should read:

2) I don't have the socket option in database.yml

Anyway, I could go a step further by installing gem mysql, and now I
get:

Can't connect to MySQL server on '10.0.0.2' (111)

does this:

# telnet mysql.database.com 3306

give you this:

Trying mysql.database.com...
Connected to mysql.database.com (mysql.database.com).
Escape character is '^]'.
;
5.1.22-rc-logg?

??

do you have the mysql client locally? you could try this:

# mysql -h mysql.database.com -u username -p

Here is an example of the database.yml:

I just confirmed that I can connect to a remote db with both an older
(1.2.3) and a newer (2.0.2) rails app.

Do a `show grants` from a mysql client to make sure your permissions
are set right.