Листопад 2014 р .: Якщо ви отримуєте цю помилку на MySQL 5.6.x у Mac OS X Mavericks або Yosemite і хочете використовувати MySQL з PHP локально (/tmp/mysql.sock - це місце, де PHP PDO очікує знайти файл sock), ось що мені це виправили:
1) Прокоментуйте рядки конфігураційного файлу домашньої писемності за замовчуванням та відредагуйте, як показано нижче
$ 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 - це те, що у вас є у вашому System Prefs -> Network як унікальний ідентифікатор вашого комп'ютера в мережі.
2) Встановіть дозволи на всі файли в mysql datadir. Усі вони належали [my_username]. MySQL дуже вимогливий до цього і відмовляється створювати файл pid, якщо він (користувач _mysql) не є власником каталогу.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) Запустіть MySQL за допомогою скрипта bash helper / wrapper:
$ 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, можливо, вам доведеться зробити це, щоб вимкнути його, перш ніж спробувати помічник bash mysql.server. Втримайтеся від бажання вбити -9 [PID], оскільки ви можете пошкодити свої дані.
mysqladmin -uroot shutdown
Удачі!
sudo chown -R _mysql:_mysql /usr/local/var/mysql