The server has not started. You could start it from System Preference.
System Preference -> Mysql -> Start Server.
Or else you could start it from the terminal. The command varies depending on how you installed MySQL. Try this first:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
If that fails:
cd /usr/local/mysql
sudo ./bin/mysqld_safe
(Enter your password, if necessary)
(Press Control-Z)
bg
If that doesn't work then try below
mysql.server start
mysqladmin variables | grep socket
For me it gave,
| socket | /tmp/mysql.sock
Then add a line to your config/database.yml
development:
adapter: mysql2
host: localhost
username: root
password: xxxx
database: xxxx
socket: /tmp/mysql.sock
Hope that solves your problem.