I'm a Rails developer newbie using MySQL as the database. I can successfully connect to MySQL using the command:
MySQL -u macDaddy -p
at the command prompt, so I know the user is valid and MySQL is running. But when I try to run
rake db:schema:dump
at the command line I get this error: rake aborted! Can't connect to MySQL server on 'localhost' (10061)
Is something wrong with my database.yml? Here it is:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: bookmobile
pool: 5
username: macDaddy
password: booklover
host: localhost
socket: mysql
port: 3306
I've also tried removing the port and socket lines but I still get the same error. Please help. Here are my versions: developing on Windows 7
MySQL Ver 14.14 distrib 5.5.21 for win64 Server version 5.5.21
Rails 3.2.1
Thanks!
My best guess is that the machine, which you indicated as Windows, has IPv6 networking enabled. Thus when you try to go to localhost, it is resolving to "::1". This is in fact the local machine, however, default MySQL installs normally have bind-address set to 127.0.0.1, which would cause localhost to fail in this setup.
You might be able to verify this by running ping localhost
from the command prompt, and seeing if you get a response like:
Reply from ::1: time<1ms
To fix this, you can change your config to specify:
host: 127.0.0.1
Alternately, you can change MySQL's configuration to allow a different bind-address, e.g. localhost instead of 127.0.0.1.