Вот варианты решения этой проблемы:
Вариант 1: измените свой хост на 127.0.0.1
staging:
adapter: mysql2
host: 127.0.0.1
username: root
password: xxxx
database: xxxx
socket: your-location-socket
Вариант 2: похоже, у вас есть 2 подключения к вашему серверу MySql. Чтобы найти расположение файла сокета, сделайте следующее:
mysqladmin variables | grep socket
для меня дает:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' exists!
или же
mysql --help
Я получаю эту ошибку, потому что я установил XAMPP в своем приложении OS X версии 10.9.5 для PHP. Выберите здесь одно из мест расположения сокетов по умолчанию.
Я выбираю для приложений рельсов по умолчанию:
socket: /tmp/mysql.sock
Для своих приложений PHP я устанавливаю XAMPP, поэтому я установил здесь свой сокет:
socket: /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
ДРУГОЕ Расположение сокета в OS X
Для MAMPP:
socket: /Applications/MAMP/tmp/mysql/mysql.sock
Для установщика пакетов из MySQL:
socket: /tmp/mysql.sock
Для MySQL в комплекте с Mac OS X Server:
socket: /var/mysql/mysql.sock
Для Ubuntu:
socket: /var/run/mysqld/mysql.sock
Вариант 3: Если все эти настройки не работают, вы можете удалить местоположение сокета:
staging:
# socket: /var/run/mysqld/mysql.sock
Надеюсь, это вам поможет.