Ноябрь 2014 г .: Если вы получаете эту ошибку в MySQL 5.6.x в Mac OS X Mavericks или Yosemite и хотите использовать MySQL с PHP локально (/tmp/mysql.sock - это то место, где PHP PDO ожидает найти файл sock), вот что исправило для меня:
1) Раскомментируйте строки файла конфигурации homebrew по умолчанию и отредактируйте, как показано ниже.
$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....
BOXNAME - это то, что у вас есть в системных настройках -> Сеть в качестве уникального идентификатора вашего компьютера в сети.
2) Установите разрешения для всех файлов в каталоге данных mysql. Все они принадлежали [my_username]. MySQL очень разборчив в этом вопросе и отказывается создавать файл pid, если он (пользователь _mysql) не владеет каталогом.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) Запустите MySQL, используя сценарий помощника / оболочки bash:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
Надеюсь, это поможет. Если вышеуказанное не работает для вас, попробуйте запустить двоичный файл mysqld_safe вручную в каталоге Cellar / mysql / VERSION_ / bin / и проверьте, какие настройки (если он работает)
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
Если это работает, вы можете
ps aux | grep mysql
и увидеть что-то вроде
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld
Я не уверен, почему это сработало для меня, но это показывает, откуда я взял параметры файла конфигурации my.cnf. Вы также можете использовать параметры командной строки, чтобы попытаться устранить неполадки при запуске mysqld вручную.
Если вы все же запустите команду «Управляйте запуском сервера MySQL» с помощью mysqld_safe, возможно, вам придется сделать это, чтобы выключить его, прежде чем пытаться использовать помощник mysql.server bash. Не поддавайтесь желанию убить -9 [PID], потому что вы можете испортить свои данные.
mysqladmin -uroot shutdown
Удачи!
sudo chown -R _mysql:_mysql /usr/local/var/mysql